使用Selenium-Webdriver 2.0时如何加速Internet Explorer中的sendkeys()?

时间:2012-01-09 15:02:56

标签: selenium webdriver selenium-webdriver

我目前正在Internet Explorer 8上进行测试。我的脚本输入用户名和密码并登录到网站。

问题是sendkeys()函数需要永远完成。用户名只有8个字符,但需要大约30到40秒才能输入。随着我的测试扩展,这将转化为需要永远完成的测试。

如何加快此操作?我不想使用本机javascript输入数据。

2 个答案:

答案 0 :(得分:3)

您在字段中输入文本基本上有两个选项:

  1. sendkeys()
  2. 的javascript
  3. 第一个不适合你,并且你已经决定反对第二个因为任何原因,只留下你可以尝试的另一件事 - 一个不同的IE配置。尝试关闭所有区域的保护模式(如果关闭它,则打开),有时这会对性能产生影响。

答案 1 :(得分:0)

为了使sendKeys工作,我使用了以下方法:

  • 使用JavaScript设置输入的值但省略最后一个字符
  • 使用sendKeys输入缺少的字符

输入IBAN CH1709000000147117606的示例如下所示

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

仍然通过sendKeys输入最后一个字符的原因是因为它将焦点设置在表单元素上并允许正确的事件触发