2017-06-19 152 views
0

我正在为我公司正在编写的应用程序编写Selenium测试。它是Selenium 3,我使用的是32位Internet Explorer驱动程序(IEDriverServer.exe),因为我使用的是64位版本,但它的执行速度非常慢。selenium中的key.sendKeys(密码)方法发送太多密钥

我试图填充密码字段(使用id =“密码”),并且我使用的代码下面的行:

driver.findElement(By.id("password")).sendKeys("welcome123"); 

其中driverInternetExplorerDriver。这是怎么回事输入10个字符“welcome123”,而不是这就是:

The image of the populated password field

请让我知道我能做些什么来阻止这种情况发生。我不知道要发送什么密钥,但我确信在我的代码中它只是表示“welcome123”,而不是像“welcome123_________”那样明显。

谢谢!

+0

尝试执行'click','clear',然后'sendKeys'。 'driver.findElement(By.id(“password”))。click();', 'driver.findElement(By.id(“password”))。clear();' –

+0

我想它已经被填充,因为从IE浏览器的“保存的密码数据”? –

+0

而不是编辑你的问题,如果你能够弄清楚发生了什么(保存的数据需要清除?),实际上鼓励你写下你的观察和解决方案作为你自己问题的答案,以防其他人遇到类似的问题。 – chrylis

回答

0

使用线

driver.findElement(By.id("password")).click();

driver.findElement(By.id("password")).click();然后与

sendKeys("welcome123");

方法调用以下起来,该字段被正确填充。问题是因为IE根据密码保存设置自动填充密码字段,并且在最后加上了“welcome123”。