“未知错误”,“消息”:“连接被拒绝”,“堆栈跟踪”,同时尝试在 Mac OS X 上通过 GeckoDriver 和 Selenium 使用 firefoxprofile
Posted
技术标签:
【中文标题】“未知错误”,“消息”:“连接被拒绝”,“堆栈跟踪”,同时尝试在 Mac OS X 上通过 GeckoDriver 和 Selenium 使用 firefoxprofile【英文标题】:"unknown error","message":"connection refused","stacktrace" while trying to use firefoxprofile through GeckoDriver with Selenium on Mac OS X 【发布时间】:2019-07-06 18:10:15 【问题描述】:我在创建 Firefox 驱动程序时遇到连接被拒绝错误。
System.setProperty("webdriver.gecko.driver", "path to gecko driver");
FirefoxOptions options = new FirefoxOptions();
options.setLogLevel(FirefoxDriverLogLevel.FATAL);
options.setAcceptInsecureCerts(true);
options.addArguments("-profile", "./firefoxprofile");
options.setHeadless(true);
LOGGER.info("Completed setting firefox optons");
WebDriver driver = new FirefoxDriver(options);
日志:
1550014357421 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-profile" "./firefoxprofile" "-foreground" "-no-remote"
1550014357464 geckodriver::marionette DEBUG Waiting 60s to connect to browser on 127.0.0.1:61008
[GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT
Can't find symbol 'GetGraphicsResetStatus'.
1550014417545 mozrunner::runner DEBUG Killing process 38393
Exiting due to channel error.
1550014417592 webdriver::server DEBUG <- 500 Internal Server Error "value":"error":"unknown error","message":"connection refused","stacktrace":""
Web 服务器正在运行,我可以使用 curl 命令对其进行测试,我尝试使用 gecko 驱动程序 bin 文件的 777 权限。
还将 Gecko 驱动程序更新到最新版本 (0.24.0)
【问题讨论】:
【参考方案1】:我在使用 python 的 Windows 中遇到了同样的问题。确保您的 Firefox 浏览器版本也是最新版本。
找了好久,终于发现是因为之前的浏览器实例在运行。请记住,不是像我打开的另一个实例,而是以前由 selenium 打开的实例。如果可以,请关闭所有后台浏览器进程。我重新启动了系统,只要我记得browser.quit()
,它就可以正常工作。
如果您在正确关闭对象之前停止程序,后台实例可能会继续运行,除非 eclipse 或您使用的任何 IDE 将其关闭。
【讨论】:
【参考方案2】:在使用 Selenium v3.x、GeckoDriver v0.24.0 和 Firefox Quantum v65.0 以使用 new Firefox Profile 在每次运行 Test Execution 时,您可以使用以下代码块:
System.setProperty("webdriver.gecko.driver", "C:\\path\\to\\geckodriver.exe");
FirefoxOptions options = new FirefoxOptions();
options.setProfile(new FirefoxProfile());
options.setLogLevel(FirefoxDriverLogLevel.FATAL);
options.setAcceptInsecureCerts(true);
options.setHeadless(true);
WebDriver driver = new FirefoxDriver(options);
driver.get("https://www.google.com");
您可以在Cannot resolve constructor FirefoxDriver(org.openqa.selenium.firefox.FirefoxProfile)找到详细讨论
【讨论】:
我尝试了新的配置文件,但仍然遇到同样的错误 由于某种原因我又看到了这个问题【参考方案3】:您的配置看起来不错。
我在 Linux 中遇到过类似的问题。
在我的情况下,解决方案是使用所有版本的壁虎驱动程序进行测试,并且使用其中一个版本,它可以工作。
您还可以检查 IDE(eclipse、intellij)的 os 用户是否与 firefox 的用户相同。在我的例子中,eclipse 是从 root 开始的,但是 firefox 不能以 root 用户开始。
希望对你有所帮助。
【讨论】:
我将尝试使用不同版本的 gecko 驱动程序,关于 os 用户,我们使用相同的用户来运行测试和 firefox。 顺便说一下,我们正在使用远程登录(ssh)运行这些测试,不确定它是否在这里相关 让我知道一些壁虎驱动程序版本的结果适合你! 0.21 版以及@DebanjanB 提到的新配置文件设置对我有用 Chrome 和 Opera 具有相同的行为。您只需要为您的操作系统找到正确的版本。配置文件和设置会根据您的需要而改变。最后,如果这有助于解决您的问题,请单击左侧的复选标记将其标记为已解决或标记为有用:D以上是关于“未知错误”,“消息”:“连接被拒绝”,“堆栈跟踪”,同时尝试在 Mac OS X 上通过 GeckoDriver 和 Selenium 使用 firefoxprofile的主要内容,如果未能解决你的问题,请参考以下文章
logcat 充满了 java.io.IOException:连接被拒绝的消息
如何从 DDMS 中的 Android 可穿戴设备获取 logcat 消息/堆栈跟踪
在 MonoTouch 应用程序中使用“气泡消息”聊天时,本机堆栈跟踪崩溃