我正在使用Firefox 55.0 Selenium 3.5.3进行测试,我在聚焦输入元素时遇到了一些问题,并且在编辑了文本聚焦后,因此客户端验证可以正常工作并在需要时显示错误。
javascriptExecutor.executeScript("document.getElementById('" + elementId + "').focus();");
javascriptExecutor.executeScript("document.getElementById('" + elementId + "').blur();");
这是实际的代码。
问题:代码工作正常,没有任何错误,但无法随机显示错误。我有webDriverWait 5秒钟,直到出现错误。
任何原因我的代码在Firefox上随机失败???
您是否同时使用Firefox运行多个测试?如果是这样,您可以尝试在firefox配置文件上启用标志focusmanager.testmode。查看my answer here了解更多详情。
您是否正在使用Geckodriver与firefox实例进行通信?
我认为这与Geckodriver没有使用-foreground选项启动firefox这一事实有关。
你能尝试添加firefoxOptions.addArguments(“ - foreground”);