2017-08-14 32 views
0

當我嘗試執行測試時,出現以下錯誤消息。 pom文件中的版本號沒有任何更改,所以我們可以排除依賴關係相關的問題。java.lang.NoSuchFieldError:INSTANCE - WebDriver

java.lang.NoSuchFieldError: INSTANCE

at org.apache.http.conn.ssl.SSLConnectionSocketFactory.(SSLConnectionSocketFactory.java:144) at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:71)

driver = new FirefoxDriver(new FirefoxBinary(new File(FF_EXEPATH)), profile); 
+0

您正在使用哪個版本的Java? –

+0

@TarunLalwani:jdk1.8.0_131 – plaidshirt

+0

嘗試像ChromeDriver等其他驅動程序等,並看看問題是所有人還是隻是這一個 –

回答

1

你肯定有一個版本不匹配。

請確保您解析到

<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.5.2</version> 
</dependency> 

最簡單的嘗試檢查,如果這是根本原因是明確添加此之上的依賴,看看是否有幫助。 Selenium取決於httpclient 4.5.2。

只是要檢查您要解析的是哪個版本的httpclient,您可以嘗試運行mvn dependency:tree | grep 'httpclient'。您應該看到如下所示的內容:

09:40 $ mvn dependency:tree | grep 'httpclient' 
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.2:compile 
✔ ~/githome/PlayGround/testbed