gpt4 book ai didi

java - 在 Jenkins 中使用 GeckoDriver Firefox 通过 Selenium Maven 建立与 WindowServer 的默认连接错误

转载 作者:行者123 更新时间:2023-11-30 05:23:28 24 4
gpt4 key购买 nike

所以我正在使用java和maven学习selenium和jenkins集成。我在使用 chrome 和 jenkins 时遇到了问题,并被告知我应该尝试 firefox webdriver。这就是我所做的。但是,当我在 Jenkins 上运行构建时出现以下错误:谁能帮我这个?我的脚本在 IDE 本地运行良好。

我还使用 Mac 10.13.6 (High Sierra),火狐70,壁虎驱动程序 v 0.26.0 ,3.141.59,Java Eclipse ID 和Maven 3.6.2

请帮忙,谢谢!

1) Jenkins 日志

Started by user Eamo
Running as SYSTEM
Building in workspace /Users/Shared/Jenkins/Home/workspace/test
Parsing POMs
Established TCP socket on 59937
[Test] $ /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java -cp /Users/Shared/Jenkins/Home/plugins/maven-plugin/WEB-INF/lib/maven35-agent-1.13.jar:/Applications/apache-maven-3.6.2/boot/plexus-classworlds-2.6.0.jar:/Applications/apache-maven-3.6.2/conf/logging jenkins.maven3.agent.Maven35Main /Applications/apache-maven-3.6.2 /Users/Shared/Jenkins/Home/war/WEB-INF/lib/remoting-3.36.jar /Users/Shared/Jenkins/Home/plugins/maven-plugin/WEB-INF/lib/maven35-interceptor-1.13.jar /Users/Shared/Jenkins/Home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.13.jar 59937
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven: -B -f /Users/Eamon/eclipse-workspace/Test/pom.xml clean test
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< SeleniumTest:SeleniumTest >----------------------
[INFO] Building SeleniumTest 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ SeleniumTest ---
[INFO] Deleting /Users/Eamon/eclipse-workspace/Test/target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ SeleniumTest ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ SeleniumTest ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ SeleniumTest ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ SeleniumTest ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /Users/Eamon/eclipse-workspace/Test/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12:test (default-test) @ SeleniumTest ---
[INFO] Surefire report directory: /Users/Eamon/eclipse-workspace/Test/target/surefire-reports

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
1575090370363 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/3n/x7zhpjbj00z7bm533_6x264r00008b/T/rust_mozprofileNeahYN"
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
1575090375044 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1575090375044 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1575090375044 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1575090375045 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Tests run: 3, Failures: 1, Errors: 0, Skipped: 2, Time elapsed: 62.465 sec <<< FAILURE!

Results :

Failed tests: startBrowser(Eamon.EamonTest): connection refused(..)

Tests run: 3, Failures: 1, Errors: 0, Skipped: 2

[ERROR] There are test failures.

Please refer to /Users/Eamon/eclipse-workspace/Test/target/surefire-reports for the individual test results.
[JENKINS] Recording test results
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:16 min
[INFO] Finished at: 2019-11-29T21:07:17-08:00
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving /Users/Eamon/eclipse-workspace/Test/pom.xml to SeleniumTest/SeleniumTest/0.0.1-SNAPSHOT/SeleniumTest-0.0.1-SNAPSHOT.pom
/Users/Eamon/eclipse-workspace/Test/pom.xml is not inside /Users/Shared/Jenkins/Home/workspace/Test/Users/Eamon/eclipse-workspace/Test/; will archive in a separate pass
channel stopped
Finished: UNSTABLE

2) 我的代码

public class EamonTest {

public String baseUrl = "http://demo.guru99.com/test/newtours/";
String driverPath = "/Users/Eamon/Desktop/geckodriver";
public WebDriver driver;

@BeforeTest
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
driver = new FirefoxDriver(capabilities);

}

@Test
public void navigateToUrl() {
driver.get("http://demo.guru99.com/selenium/guru99home/");
}

@AfterTest
public void endTest() {
driver.quit();
}

最佳答案

此错误消息...

1575090370363   mozrunner::runner   INFO    Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/3n/x7zhpjbj00z7bm533_6x264r00008b/T/rust_mozprofileNeahYN"
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
1575090375044 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1575090375044 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1575090375044 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1575090375045 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.

...暗示 GeckoDriver 无法启动/生成新的浏览上下文,即 Firefox 浏览器 session 。

您的主要问题是使用 FirefoxDriver已弃用构造函数 如下:

在当前版本的 Selenium v​​3.141.59 中,构造函数 FirefoxDriver(CapabilitydesiredCapability) 已被弃用。

desiredcapabilities

<小时/>

解决方案

您需要使用merge()方法来自 MutableCapabilities Class,将DesiredCapability类型对象合并到FirefoxOptions类型对象中,并启动WebDriverWebClient em> 实例通过传递 FirefoxOptions 对象如下:

@BeforeTest
public void startBrowser() {
System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
FirefoxOptions options = new FirefoxOptions();
options.merge(capabilities);
driver = new FirefoxDriver(options);
<小时/>

引用文献

您可以在以下位置找到一些相关讨论:

关于java - 在 Jenkins 中使用 GeckoDriver Firefox 通过 Selenium Maven 建立与 WindowServer 的默认连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59113424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com