我正在使用Selenium webdriver和Java开发自动化测试框架。我差不多完成了,当我使用Firefox驱动程序运行我的测试时,它总能正常工作。但是当我在Chrome驱动程序中运行相同的代码时
几乎每个'findElement()'语句都会出现org.openqa.selenium.InvalidElementStateException:无效的元素 state:元素当前不可交互,也可能不是 操纵
异常。在Internet Explorer中运行相同的代码时
org.openqa.selenium.NoSuchElementException 发生。
我想知道为什么相同的代码在不同的浏览器驱动程序中表现不同。请注意在开发在不同浏览器驱动程序中运行完美的自动化框架时要记住的事项
答案 0 :(得分:0)
“triggerMouseEventAt”????
不同的浏览器呈现的屏幕略有不同。鼠标事件可能是最不可能在浏览器中工作的事情。
driver.findElement(By ....)。click() 更有可能跨浏览器工作。
答案 1 :(得分:0)
我们可以使用以下命令在不同的浏览器中找到元素:
最佳方法应该是测试合适的方法和使用方法。
我读过一本关于“浏览器如何工作”的好书。您也可以尝试:http://taligarsiel.com/Projects/howbrowserswork1.htm