我正在通过 Selenium (RobotFramework) 对我的网站进行 GUI 自动化。我面临的问题是:
当我的自动化脚本点击某些应该执行某些操作的元素(按钮、链接等)时,它什么也没做。这是随机发生的。当我们手动测试时,它一直有效。一种观察是,在较慢的机器/环境中,这种情况往往会发生更多。
我怀疑发生这种情况是因为某些相应的 JS 尚未加载,或者如果每个元素都没有发生任何称为“ Action 绑定(bind)”的事情。
一些问题 - 有没有办法查明是否所有的 JS 调用都结束了? - 如果发生 Action 绑定(bind),是否已经绑定(bind)。
如果您有任何其他解决方案,请分享。
最佳答案
你知道页面上最后加载的是什么吗?这应该很容易通过您选择的浏览器中的开发人员工具找到。
然后您可以轻松地使用 Wait Until 关键字(有很多变体)来等待最后一项如您预期的那样出现,然后继续您的测试。设置超时长度和间隔将有助于控制时间/性能的开销。
Wait Until Element Is Visible id=finalElement 10 finalElement did not appear on the screen before timeout period
http://robotframework.org/Selenium2Library/Selenium2Library.html - 有关关键字方面的更多示例和选项,请参阅文档
关于javascript - 如何检查 JavaScript 文件是否尚未加载或正在加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40253846/