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

问题描述 投票:1回答:1

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

我也在使用mac 10.13.6(High Sierra),Firefox 70,Geckodriver 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   [email protected] WARN    Loading extension '[email protected]': Reading manifest: Invalid extension permission: mozillaAddons
1575090375044   [email protected] WARN    Loading extension '[email protected]': Reading manifest: Invalid extension permission: telemetry
1575090375044   [email protected] WARN    Loading extension '[email protected]': Reading manifest: Invalid extension permission: resource://pdf.js/
1575090375045   [email protected] WARN    Loading extension '[email protected]': 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();
    }
java maven selenium jenkins geckodriver
1个回答
0
投票

此错误消息...

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   [email protected] WARN    Loading extension '[email protected]': Reading manifest: Invalid extension permission: mozillaAddons
1575090375044   [email protected] WARN    Loading extension '[email protected]': Reading manifest: Invalid extension permission: telemetry
1575090375044   [email protected] WARN    Loading extension '[email protected]': Reading manifest: Invalid extension permission: resource://pdf.js/
1575090375045   [email protected] WARN    Loading extension '[email protected]': 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无法启动/产生新的Browsing Context,即Firefox Browser会话。

您的主要问题是FirefoxDriver Class不推荐使用 构造函数的用法,如下所示:

Selenium v​​3.141.59]的当前版本中,不建议使用构造函数FirefoxDriver(Capabilities desiredCapabilities)

desiredcapabilities


解决方案

您需要使用merge() Class中的merge()方法将DesiredCapabilities类型对象合并到FirefoxOptions类型对象中,并启动WebDriverWebClient 实例,方法是通过传递FirefoxOptions对象,如下所示:

MutableCapabilities

参考

您可以在以下位置找到几个相关的讨论:

© www.soinside.com 2019 - 2024. All rights reserved.