我已经使用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等等。
有人可以帮助我在一台浏览器上重新开始工作,这样我就可以重新开始工作吗?谢谢你能给我的任何帮助!
感谢!!!
答案 0 :(得分:1)
很少有事情。
您使用的是哪种操作系统 32位或 64位?
答案 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.exe
和Geckodriver.exe
的路径时请务必小心。如果它仍然给你带来问题,请告诉我。