我试图用Selenium和IEDriverServer发送密钥,但是我遇到了一个问题,即密钥被非常缓慢地发送到输入端。
我做了一些研究,许多网站都建议确保浏览器和IEDriverServer是相同的位(我拥有它们和它们相同),但我仍然将键缓慢地发送到输入。
我找到了一个解决方案,我可以使用JavaScript来设置输入的值,但我不太确定这是否是修复慢键错误的好方法。
使用JavaScript而不是Selenium的sendkeys是否有任何缺陷?
答案 0 :(得分:1)
这很可能是由原生事件使用引起的。在这一点上,我不能完全记住完整的故事,但是将原生事件转变为:
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability("nativeEvents", false);
webdriver = new InternetExplorerDriver(caps);
强制IEDriverServer使用JS而不是本机事件(那些在您访问时直接使用IE时使用的事件)并使IE测试中的所有内容都运行得更快。而且我也不认为这有任何真正的缺点。
更多信息here。
答案 1 :(得分:0)
nativeEvents应该可以工作。您还可以查找Javascript解决方案,您可以在此处执行以下操作:
webDriver.executeScript("arguments[0].setAttribute('value', '" + stringValue +"')", webElement);
带有webElement的是inputField,例如用户名,密码等