我无法使用Eclipse(neon),testNG

时间:2017-07-27 12:49:43

标签: eclipse google-chrome selenium firefox

我已经使用Eclipse自动完成了几个月的测试。有一天,我进入前一天运行的测试,浏览器(Firefox)是空白的。以下是错误的第一部分:

  

org.openqa.selenium.firefox.NotConnectedException:无法连接   在45000 ms后在端口7055上托管127.0.0.1。 Firefox控制台输出:   默认“,”描述“:”默认值   主题 “” 创造者 “:” Mozilla的 “ ”homepageURL“:空, ”贡献者“:” Mozilla的   提供者 “]},” 可见 “:真正的” 主动 “:真实的,” userDisabled “:假的,” appDisabled “:假的,” 描述 “:” C:\ PROGRAM   文件(x86)\ Mozilla   火狐\浏览器\扩展\ {972ce4c6-7e08-4474-a285-3208198ce6fd}的.xpi”, “installDate”:1499203612256, “updateDate”:1499203612256, “applyBackgroundUpdates”:1, “换肤功能”:真实的, “大小”:19587 “sourceURI”:NULL, “releaseNotesURI”:NULL, “softDisabled”:假 “foreignInstall”:假 “hasBinaryComponents”:假 “strictCompatibility”:真 “的区域设置”:[], “targetApplications”:[{ “ID”: “{ec8030f7-C20A-464f-9b0e-13a3a9e97384}”, “MINVERSION”: “52.2.1”, “MAXVERSION”: “52.2.1”}], “targetPlatforms”:[], “看到” :真 “依赖性”:[], “hasEmbeddedWebExtension”:假}

所以很自然地我把它扔进谷歌并查找错误,我看到很多引用“Geckodriver”。如果你有FF 47或更高版本,你需要使用这个geckodriver。现在我的公司每两周推送一次更新,因此他们升级Firefox是有道理的。我当前的版本是52,我去Github并下载Geckopdriver并指向它如下:

System.setProperty("webdriver.gecko.driver", "*the path to it on my machine*");

再次尝试时,我仍然会看到一个空白屏幕。以下是错误消息:

  

org.openqa.selenium.firefox.NotConnectedException:无法连接   在45000 ms后在端口7055上托管127.0.0.1。 Firefox控制台输出:   默认“,”描述“:”默认值   主题 “” 创造者 “:” Mozilla的 “ ”homepageURL“:空, ”贡献者“:” Mozilla的   提供者 “]},” 可见 “:真正的” 主动 “:真实的,” userDisabled “:假的,” appDisabled “:假的,” 描述 “:” C:\ PROGRAM   文件(x86)\ Mozilla   火狐\浏览器\扩展\ {972ce4c6-7e08-4474-a285-3208198ce6fd}的.xpi”, “installDate”:1499203612256, “updateDate”:1499203612256, “applyBackgroundUpdates”:1, “换肤功能”:真实的, “大小”:19587 “sourceURI”:NULL, “releaseNotesURI”:NULL, “softDisabled”:假 “foreignInstall”:假 “hasBinaryComponents”:假 “strictCompatibility”:真 “的区域设置”:[], “targetApplications”:[{ “ID”: “{ec8030f7-C20A-464f-9b0e-13a3a9e97384}”, “MINVERSION”: “52.2.1”, “MAXVERSION”: “52.2.1”}], “targetPlatforms”:[], “看到” :真 “依赖性”:[], “hasEmbeddedWebExtension”:假}

我无法找到任何可以帮助我的具体规格的相关参考(Win 7,FF 52,Eclipse Neon,TestNG)

由于我知道我们创建chromedriver的对象以在GoogleChrome上进行测试,因此我更喜欢FireFox。但是当我重新解决FireFox的问题时,我想在Chrome上尝试使用该脚本。

所以我将浏览器更改为:

System.setProperty("webdriver.chrome.driver", "*path*");
WebDriver driver = new ChromeDriver();

这次Chrome打开了,只有“数据”;在URL中。这是错误消息:

  

org.openqa.selenium.remote.UnreachableBrowserException:不能   开始一个新的会议。可能的原因是遥控器的无效地址   服务器或浏览器启动失败。构建信息:版本:'2.53.0',   修订版:'35ae25b',时间:'2016-03-15 16:57:40'

我似乎无法让任何浏览器工作,而且我一直没有效果,试图解决这个问题3天。我尝试升级selenium的版本,但这需要更新的jar文件,这需要我将我的chrome版本更新为58,由于系统策略我不能这样做(管理员禁用了更新。)其他解决方案专注于各种我没有的配置,比如Ubuntu和Opera等等。

有人可以帮助我在一台浏览器上重新开始工作,这样我就可以重新开始工作吗?谢谢你能给我的任何帮助!

感谢!!!

3 个答案:

答案 0 :(得分:1)

很少有事情。

您使用的是哪种操作系统 32位 64位

  1. 确保您下载的驱动程序(gecko或chrome any)与您的操作系统一致。
  2. 尝试从命令行运行它们以查看发生了什么。
  3. 如果您使用的是Linux,请确保驱动程序具有适当的权限

答案 1 :(得分:1)

1-下载最新的firefox或chrome驱动程序
2-请更新您的selenium服务器依赖项,似乎您的selenium stand-alone.jar与您的浏览器版本不兼容。 从here下载selenium server最新jar 或在POM中添加以下maven依赖

<dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.4.0</version>
    </dependency>

如果它解决了您的问题,请告诉我:))

答案 2 :(得分:0)

对于谷歌浏览器,您可以尝试以下代码:

public class FSO_CheckCase {
    WebDriver driver;
@BeforeTest     
public void setup ()
{          
System.setProperty("webdriver.chrome.driver", "*path*\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
options.addArguments("start-maximized");
options.addArguments("--js-flags=--expose-gc");  
options.addArguments("--enable-precise-memory-info"); 
options.addArguments("--disable-popup-blocking");
options.addArguments("--disable-default-apps");
options.addArguments("test-type=browser");
options.addArguments("disable-infobars");
driver = new ChromeDriver(options);               
driver.manage().deleteAllCookies();
} 

@Test(priority = 0)     
public void Google () throws InterruptedException    
{
driver.navigate().to("http://google.com");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}

如果这样做,FireFox可以使用相同的代码。提及保存chromedriver.exeGeckodriver.exe的路径时请务必小心。如果它仍然给你带来问题,请告诉我。