Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 元素只能通过Jenkins生成找到_Java_Jenkins_Selenium Webdriver_Automated Tests_Selenium Chromedriver - Fatal编程技术网

Java 元素只能通过Jenkins生成找到

Java 元素只能通过Jenkins生成找到,java,jenkins,selenium-webdriver,automated-tests,selenium-chromedriver,Java,Jenkins,Selenium Webdriver,Automated Tests,Selenium Chromedriver,我的自动测试有问题, 我的测试在Eclipse中运行,没有问题 但是当我想在Jenkins上运行这个测试时,它总是在同一行(在同一个选择器上)失败 运行TestSuite启动ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4)端口21173上仅本地 允许连接。测试运行:1,失败:1,错误:0, 跳过:0,经过的时间:34.563秒此行的测试失败: wait.until(ExpectedConditions

我的自动测试有问题, 我的测试在Eclipse中运行,没有问题

但是当我想在Jenkins上运行这个测试时,它总是在同一行(在同一个选择器上)失败

运行TestSuite启动ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4)端口21173上仅本地 允许连接。测试运行:1,失败:1,错误:0,
跳过:0,经过的时间:34.563秒此行的测试失败:

wait.until(ExpectedConditions
      .visibilityOfElementLocated(By.cssSelector("a[id='PopularOpener'] > span[title='All']")));
尝试选择此元素,而不是像您那样使用css

By.cssSelector("a[id='PopularOpener'] > span[title='All']" 

通过其他方式选择它,例如id、名称、xpath。

或者如果它仅通过Jenkins失败,请检查本地计算机与通过Jenkins运行测试的计算机之间的差异。
检查java版本、chrome驱动程序、操作系统版本等。

我使用JavascriptExecutor解决了这个问题

JavascriptExecutor js=(JavascriptExecutor)驱动程序
js.executeScript(“Categories.readPopular()”)


此功能在J上运行良好

您是否在与本地计算机相同的操作系统和浏览器上运行Jenkins测试?是的,我在同一台计算机上运行Jenkins测试。Jenkins在我的计算机上本地运行。所以Java版本、Chrome驱动程序等都是相同的版本。我已经尝试使用其他选择器选择该元素,但得到了相同的结果。请注意,这意味着您的元素在实际页面上不可见。JS executer甚至可以处理页面上不可用的元素。从测试的角度来看,这并不总是好的。元素在真实页面上是可见的,但是当我与Jenkins一起运行时,它们是不可见的。在本地,我的测试没有问题。我不知道为什么这些元素只有在我通过Jenkins运行测试时才可见。所以我的解决方案是解决问题。如果你有更好的解决方案,请告诉我。非常感谢。