即使报告元素存在,也找不到间歇性硒元素

时间:2011-05-26 17:50:42

标签: object selenium

我在Selenium中遇到了一个问题,该问题已经通过我的测试套件重复出现,报告了明显不存在的元素,Selenium甚至报告说它们是通过isElementPresent()

例如,我有一个带有文本字段的页面加载。 selenium.waitForPageToLoad()完成后,硒间歇性地报告文本字段丢失。要弄清楚这是不是 一个计时问题,我在页面加载后添加了Thread.sleep(5000),并验证了 元素存在:

logger.debug("Element present status: " + selenium.isElementPresent(elements.get("File Path Text Field")));

奇怪的是,每次运行脚本时,页面加载都没有问题。在此期间 5秒睡觉我可以清楚地看到文字字段。每次上面的记录器语句报告 对于存在的元素,“true”。下一行代码是

selenium.type("something");

这是一个掷骰子拍摄,无论它是否报告元素存在与否。有没有其他人有这样的问题,知道如何解决它们?

先谢谢。

2 个答案:

答案 0 :(得分:2)

如果这是一个间歇性的问题并且硒经常发现元素,那么它应该是一个时间问题。以下是我将针对此问题尝试的两个步骤:

  1. isElementPresent更改为isVisible。很多次,我看到isElementPresentisVisible失败的地方通过。

  2. 假设您使用IDE编写测试代码,请在selenium.type命令之前使用断点并执行命令。如果selenium在执行此断点期间可以“始终”找到该元素,那么请确保您有时间问题。

答案 1 :(得分:0)

尝试selenium.type(elements.get(“文件路径文本字段”),“某事物”); 由于selenium.type方法需要两个参数即。定位器和价值。