我在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");
这是一个掷骰子拍摄,无论它是否报告元素存在与否。有没有其他人有这样的问题,知道如何解决它们?
先谢谢。
答案 0 :(得分:2)
如果这是一个间歇性的问题并且硒经常发现元素,那么它应该是一个时间问题。以下是我将针对此问题尝试的两个步骤:
将isElementPresent
更改为isVisible
。很多次,我看到isElementPresent
在isVisible
失败的地方通过。
假设您使用IDE编写测试代码,请在selenium.type命令之前使用断点并执行命令。如果selenium在执行此断点期间可以“始终”找到该元素,那么请确保您有时间问题。
答案 1 :(得分:0)
尝试selenium.type(elements.get(“文件路径文本字段”),“某事物”); 由于selenium.type方法需要两个参数即。定位器和价值。