2012-01-09 51 views
2

我目前正在測試Internet Explorer 8.我的腳本鍵入用戶名和密碼並登錄到網站。如何在使用Selenium-Webdriver 2.0時在Internet Explorer中加速sendkeys()?

問題是sendkeys()函數需要永久完成。用戶名只有8個字符,但需要大約30 - 40秒才能進入。隨着我的測試擴展,這將轉化爲需要永久完成的測試。

如何加快此操作?我不想使用原生javascript輸入數據。

+2

可能重複有什麼辦法來優化/加速數據的發送與量角器的UI?](http://stackoverflow.com/questions/25689090/is-there-any-way-to-optimize-speed-up-the-sending-of-data-to-a-ui-with -protrac) – durron597 2015-09-09 13:57:33

回答

3

你基本上在字段中輸入文本兩種選擇:

  1. 的SendKeys()
  2. 的JavaScript

首先是工作不適合你,你已經決定對第二,無論出於何種原因,只剩下另一件你可以嘗試的東西 - 一種不同的IE配置。嘗試關閉所有區域的保護模式(或關閉,如果你關掉它),有時這可能會影響性能。

0

爲了使的SendKeys的工作,我用下面的方法:

  • 使用JavaScript來設置輸入的值,但離開了最後一個字符
  • 使用sendKeys輸入缺少的字符

進入一個IBAN CH1709000000147117606的一個例子是這樣的

browser.executeAsyncScript(function(callback){ 
     document.getElementsByName("kontoNummer")[0].value = "CH170900000014711760"; 
     callback(); 
    }).then(page.kontoNummer.sendKeys('6')); 

爲什麼最後一個字符仍然可以通過sendKeys進入的原因是因爲它設置表單元素上的焦點,並允許正確的事件觸發的[

相關問題