我的 selenium java 脚本在本地运行良好,但在 jenkins 中运行失败。例如:
driver.findElement(By.xpath("//div[@id='IDName']")).click();//loads a new page
driver.findElement(By.xpath("//div[@id='TextBox']"))).sendKeys("xyz");
在 jenkins 中运行这样的脚本后,出现Unable to locate element: "//div[@id='TextBox']"
. 但是当我在 jenkins 中再次运行相同的脚本时,它就通过了。我可以理解这是由于页面未正确加载。我在基类中使用以下命令。
driver.manage().timeouts().implicitlyWait(_TIMEOUT, TimeUnit.SECONDS);//_TIMEOUT = 50;
我可以在 click 和 sendkeys 行之间添加Thread.sleep()
or driver.wait()
,但我认为这不是一个好主意,因为我有 600 多个脚本要执行。