selenium - 从 Jenkins 运行脚本时获取 "Timeout"和 "Unable to locate element"

标签 selenium jenkins gradle jobs webdriverwait

我曾尝试从 Eclipse 本地运行 Gradle 脚本,它已成功运行。但是当我尝试通过创建“作业”从 Jenkins 运行时。无论我在哪里使用 ,都会收到此错误显式等待 在我的 Selenium 代码中

enter image description here

帮我摆脱它。
提前致谢。

最佳答案

此错误消息...

org.openqa.selenium.TimeoutException: Expected condition failed: waiting for element to be clickable: Proxy element for: DefaultElementLocator 'By.id: user email' (tried for 500 second(s) with 500 milliseconds interval)

...意味着 超时异常 在尝试单击诱导 WebDriverWait 的元素时引发。

元素的相关 HTML 以及您的代码试验将帮助我们以更好的方式分析问题。但是,Locator Strategy作为 'By.id: user email' 对我来说看起来不正确。

解决方案

作为解决方案,您可以尝试以下任一解决方案:
  • css选择器:
    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("#user"))).click();
    
  • 路径:
    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//*[contains(@id,'user')]"))).click();
    
  • 关于selenium - 从 Jenkins 运行脚本时获取 "Timeout"和 "Unable to locate element",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59479150/

    相关文章:

    mercurial - 基于 Kiln Mercurial 存储库定义 Jenkins 构建作业

    java - Git 流 : How to configure a one-click release process in Jenkins?

    java - 如何获取setupBuilder gradle插件以在Windows开始菜单中创建jar启动器

    java - 使用什么驱动程序与 Groovy/Gradle 一起连接到 Oracle 数据库

    java - JMeter Selenium 插件 Kernel32 异常

    java - 在一台机器上的 2 个浏览器(Chrome 和 Firefox)中运行 selenium 网格测试

    selenium - 如何使用 Selenium 和一个NUnit套件测试多个浏览器并使之保持DRY?

    selenium - WebDriver Chrome浏览器: Avoid 'Do you want chrome to save your password' pop up

    java - 如何在 Jenkins 中使用二进制文件执行 HTTP POST?

    android - android-gradle无法创建 'AppPlugin'类型的插件