问题描述
|
我在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方法需要两个参数,即。定位器和价值。