我的 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()
或 driver.wait()
,但我认为这不是个好主意,因为我有 600 多个脚本要执行。
最佳答案
添加隐式等待,以确保元素已经可用,或者使用 sleep
关于java - Selenium 脚本在 jenkins 中失败,但在本地运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16052058/