2017-06-19 42 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」。