我正在尝试使用selenium和maven依赖项启动chrome浏览器,遇到了类似java.lang.NoSuchFieldError:INSTANCE这样的问题
我正在使用以下版本的SeleniumJava和服务器及cucumber依赖项我正在尝试使用selenium和maven依赖项启动chrome浏览器,遇到了类似java.lang.NoSuchFieldError:INSTANCE这样的问题,java,maven,selenium,Java,Maven,Selenium,我正在使用以下版本的SeleniumJava和服务器及cucumber依赖项 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.47.1</version> </dependency&
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.47.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.47.1</version>
</dependency>
<dependency>
<groupId>net.masterthought</groupId>
<artifactId>cucumber-reporting</artifactId>
<version>0.1.0</version>
</dependency>
info.cukes cucumber-java 1.1.8
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.1.8</version>
</dependency>
com.theoryinpractise cucumber-testng-factory 1.0.1
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-html</artifactId>
<version>0.2.6</version>
</dependency>
org.seleniumhq.selenium
硒爪哇
2.47.1
org.seleniumhq.selenium
硒服务器
2.47.1
网络智囊团
黄瓜报道
0.1.0
info.cukes黄瓜java 1.1.8
信息杯
黄瓜刺柏
1.2.5
测试
信息杯
黄瓜核
1.1.8
com.com.0.1
信息杯
黄瓜html
0.2.6
但是,如果我在ant中使用相同版本的jar文件,并尝试启动chrome浏览器,它就会工作。如果我在maven中使用相同版本的依赖项,那么启动chrome浏览器会遇到问题
获取maven的以下错误:
/*java.lang.NoSuchFieldError:实例
位于org.apache.http.impl.io.DefaultHttpRequestWriterFactory。(DefaultHttpRequestWriterFactory.java:52)
位于org.apache.http.impl.io.DefaultHttpRequestWriterFactory。(DefaultHttpRequestWriterFactory.java:56)
位于org.apache.http.impl.io.DefaultHttpRequestWriterFactory。(DefaultHttpRequestWriterFactory.java:46)
位于org.apache.http.impl.conn.ManagedHttpClientConnectionFactory。(ManagedHttpClientConnectionFactory.java:72)
位于org.apache.http.impl.conn.ManagedHttpClientConnectionFactory。(ManagedHttpClientConnectionFactory.java:84)
位于org.apache.http.impl.conn.ManagedHttpClientConnectionFactory。(ManagedHttpClientConnectionFactory.java:59)
位于org.apache.http.impl.conn.PoolightTPClientConnectionManager$InternalConnectionFactory。(PoolightTPClientConnectionManager.java:487)
位于org.apache.http.impl.conn.PoolighttpClientConnectionManager。(PoolighttpClientConnectionManager.java:147)
位于org.apache.http.impl.conn.PoolighttpClientConnectionManager。(PoolighttpClientConnectionManager.java:136)
位于org.apache.http.impl.conn.PoolighttpClientConnectionManager。(PoolighttpClientConnectionManager.java:112)
位于org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:74)
位于org.openqa.selenium.remote.internal.HttpClientFactory.(HttpClientFactory.java:57)
位于org.openqa.selenium.remote.internal.HttpClientFactory.(HttpClientFactory.java:60)
位于org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.getDefaultHttpClientFactory(ApacheHttpClient.java:252)
位于org.openqa.selenium.remote.internal.ApacheHttpClient$Factory。(ApacheHttpClient.java:229)
位于org.openqa.selenium.remote.HttpCommandExecutor.getDefaultClientFactory(HttpCommandExecutor.java:96)
位于org.openqa.selenium.remote.HttpCommandExecutor。(HttpCommandExecutor.java:70)
位于org.openqa.selenium.remote.HttpCommandExecutor。(HttpCommandExecutor.java:58)
位于org.openqa.selenium.remote.service.DriverCommandExecutor.(DriverCommandExecutor.java:49)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:170)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:138))*/
您可以尝试以下一组selenium依赖项:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.14.0</version>
</dependency>
<dependency>
<groupId>net.masterthought</groupId>
<artifactId>cucumber-reporting</artifactId>
<version>0.1.0</version>
</dependency>
...
org.seleniumhq.selenium
硒爪哇
3.14.0
org.seleniumhq.selenium
硒服务器
3.14.0
网络智囊团
黄瓜报道
0.1.0
...
我使用了以下依赖项
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.141.59</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>25.0-jre</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-exec -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.28.0</version>
</dependency>
org.seleniumhq.selenium
硒爪哇
3.141.59
org.seleniumhq.selenium
硒服务器
3.141.59
番石榴
番石榴
25.0-jre
org.apache.commons
下议院行政长官
1.3
com.google.api-client
谷歌api客户端
1.28.0
为什么selenium-java2.47.1
?为什么不selenium java 3.141.59
?为什么3.14.0
?为什么不3.141.59
我在项目中使用3.14.0。并发现升级到此版本后问题已得到修复。但我认为它在最新版本(3.141.59)上也会起作用。检查是个好主意。首先,我非常感谢@DebanjanB和I.bondarenko,它对我有用,我使用了下面的依赖项。