2012-01-09 52 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进入的原因是因为它设置表单元素上的焦点,并允许正确的事件触发的[

相关问题