自动脚本在最新浏览器中运行时遇到的问题

时间:2017-11-26 07:03:09

标签: java windows selenium testng

以前脚本运行正常。但是,当我在下面的环境中运行自动化脚本时,我最近收到错误。

  

操作系统版本:Windows 7   
Selenium版本:selenium-java-2.37.0   
驱动程序版本:ChromeDriver 2.8

得到如下错误:

Starting ChromeDriver (v2.8.241075) on port 22931
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.

现在我的Chrome浏览器已更新到最新版本。所以我试着下载最新的selenium和chromedriver版本。我尝试使用下面的env。

  

操作系统版本:Windows 7   
硒版:selenium-java-3.7.1   
驱动程序版本:ChromeDriver 2.33   
Chrome浏览器:版本62.0.3202.94(官方版本)(64位)

但我仍然得到如下错误:

Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
    at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:146)
    at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:71)

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

驱动程序和浏览器兼容性问题众所周知。在大多数情况下,第一个将不得不赶上后者。例如,并非所有ChromeDriver版本都与所有版本的Chrome兼容。有一天你运行测试脚本,如果它中断,更新驱动程序。然后它工作。或者有一天Chrome可以在不告诉你的情况下悄悄更新。因此,明确锁定其版本是一种很好的做法(这包括禁用浏览器更新)。

检查这些版本的一种方法是浏览ChromeDriver的当前发行说明。如果这仍然没有帮助 - 降级驱动程序或浏览器对,直到它工作。有几次我不得不自己玩猜谜游戏,直到让它再次运作。

答案 1 :(得分:0)

此问题现已解决。我将我的java版本更新为9并在env。

下面使用
  

Java版本:9.0.1   
Selenium版:selenium-java-3.3.1   
驱动程序版本:ChromeDriver 2.33   
Chrome浏览器:版本62.0.3202.94(官方版本)(64位)