我的Java Web应用程序已从JDK 1.6
升级到JDK 1.8
版本,我正在更新测试环境以使用更新的Selenium
组件。
下面提到的是pom.xml
中包含的更新后的Jars。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.0.0</version>
<type>jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server-standalone</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-leg-rc</artifactId>
<version>3.0.0</version>
</dependency>
当我在Jenkins
中运行作业时,它会抛出编译错误,如下所述。
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] D:\Jenkins\workspace\WIDFLY-trunk\src\test\java\com\company\test\dragon\acceptance\test\shiftscheduling\switchautm\switchtimes\SwitchingTimesAbsTest.java:[3,-1] cannot access org.openqa.selenium.support.PageFactory
bad class file: org\openqa\selenium\support\PageFactory.class(org\openqa\selenium\support:PageFactory.class)
class file has wrong version 52.0, should be 50.0
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 31.294s
[INFO] Finished at: Mon Dec 04 CET 2017
[INFO] Final Memory: 13M/31M
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project test: Compilation failure
[ERROR] D:\Jenkins\workspace\WIDFLY-trunk\src\test\java\com\company\test\dragon\acceptance\test\shiftscheduling\switchautm\switchtimes\SwitchingTimesAbsTest.java:[3,-1] cannot access org.openqa.selenium.support.PageFactory
[ERROR] bad class file: org\openqa\selenium\support\PageFactory.class(org\openqa\selenium\support:PageFactory.class)
[ERROR] class file has wrong version 52.0, should be 50.0
[ERROR] -> [Help 1]
我错过了什么?我认为它有selenium-support
jar版本的问题,但我也尝试使用较低版本,我也遇到了同样的错误。
注意:如果我在CMD提示符中直接使用maven
执行,我没有收到任何错误。 Jenkins作业执行只会抛出此错误。
请帮忙。
答案 0 :(得分:1)
错误的确给了我们一个错误的提示:
cannot access org.openqa.selenium.support.PageFactory
和
class file has wrong version 52.0, should be 50.0
最有可能的解决方案是:
JDK
升级到最新版 JDK 8u151
Selenium Maven Dependencies
当前 v3.8.1
尝试仅使用 selenium-java
依赖关系。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.8.1</version>
</dependency>
如果您使用 RemoteWebDriver implementation
,则仍需要启动Selenium服务器。最好的方法是从Selenium Downloads page
下载 selenium-server-standalone.jar
,然后使用它。如果您向pom.xml
添加以下依赖项,也可以将Selenium Server嵌入到您自己的项目中:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.8.1</version>
</dependency>
selenium-support
不再是有效的依赖项,因此您可以将其删除。
maven clean
和 maven install
重新运行 Test