如何解决甚至在报告元素存在后也找不到间歇性硒元素
| 我在Selenium中遇到了一个问题,该问题在我的测试套件中反复出现,报告了元素明显不存在后再报告的问题,Selenium甚至报告它们通过“ 0”出现。 例如,我有一个带有文本字段的页面加载。 “ 1”完成后,硒间歇地报告缺少文本字段。找出这是否是 计时问题,我在页面加载后添加了Thread.sleep(5000)
,并验证了
元素存在:
logger.debug(\"Element present status: \" + selenium.isElementPresent(elements.get(\"File Path Text Field\")));
奇怪的是,每次我运行脚本时,页面加载都没有问题。在此期间
5秒钟的睡眠我可以清楚地看到文本字段。每次上述记录器语句都会报告
\“ true \”表示存在的元素。下一行代码是
selenium.type(\"something\");
无论是否报告该元素是否存在,这都是胡扯。还有其他人有这样的问题,知道如何解决吗?
先谢谢了。
解决方法
如果这是一个间歇性问题,而硒经常发现该元素,那么它应该是一个时间问题。以下是我尝试解决此问题的两个步骤:
将
isElementPresent
更改为isVisible
。很多次,我看到isElementPresent
失败了where6ѭ。
假设您正在使用IDE对测试进行编码,请在selenium.type命令之前使用断点并执行该命令。如果硒可以在此断点执行期间“始终”找到元素,那么请放心您存在计时问题。
,尝试selenium.type(elements.get(\“文件路径文本字段\”),\“某事\”);
由于selenium.type方法需要两个参数,即。定位器和价值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。