Protractor: Protractor 5.2.0:-Neuer Dienst kann nicht erstellt werden: GeckoDriverService, wenn seleniumServerJar anstelle von seleniumAddress verwendet wird

Erstellt am 27. Nov. 2017  ·  3Kommentare  ·  Quelle: angular/protractor

Hi,
Ich kann keinen neuen Dienst erstellen: GeckoDriverService, wenn ich versuche, Firefox zu verwenden. Was mir aufgefallen ist, ist, wenn seleniumServerJar zum Öffnen und Schließen des Selenium-Servers verwendet wird. Wenn ich seleniumAddress verwende, funktioniert alles einwandfrei. Gibt es eine Möglichkeit, seleniumServerJar und Firefox zusammen zu verwenden.

Knotenversion: 6.9.5
Winkelmesser: 5.2.0
Selen: 3,6
geckoDriver: 0.19
Betriebssystem: Mac

Hilfreichster Kommentar

Hallo, das ist das gleiche Problem wie dieses #4501.

In #4502 (als Ergänzung von 768fd393d1084a8da0ec6eeaa57) gibt es dafür bereits eine einfache Lösung, aber jemand aus dem Kernteam muss die PR überprüfen und zusammenführen. In Kürze fehlt der Teil, in dem Argumente für den Befehl zum Starten von Selen, in dem der Gecko-Treiber bereitgestellt wird, enthalten sind.

In lib/driverProviders/ local.ts fehlt Folgendes:

if (this.config_.geckoDriver) {
  serverConf.jvmArgs.push('-Dwebdriver.gecko.driver=' + this.config_.geckoDriver);
}

nachdem das gleiche für chromeDriver gemacht wurde:

if (this.config_.chromeDriver) {
  serverConf.jvmArgs.push('-Dwebdriver.chrome.driver=' + this.config_.chromeDriver);
}

Ich hoffe, dass jemand diese PR sehr bald überprüft und zusammenführt und dieses nervige Problem löst :)

Alle 3 Kommentare

@adityagautam Hallo, können Sie bitte Ihre Winkelmesser-Konfigurationsdatei teilen?

@Xotabu4 Vielen Dank, dass Sie sich dieses Problem angesehen haben. Hier ist meine Konfigurationsdatei

`let HtmlScreenshotReporter = require('winkelmesser-jasmine2-screenshot-reporter');
require("babel-register");

exports.config = {`

framework: 'jasmine2',
rootElement: 'body',
seleniumServerJar:'./node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.6.0.jar',
geckoDriver: './node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver',
capabilities: {
    browserName: 'firefox',
    acceptSslCerts: true,
    trustAllSSLCertificates: true,
    acceptInsecureCerts:true,
    ACCEPT_SSL_CERTS:true,
},


baseUrl: 'https://shared.qa.com',

suites: {
    create: 'tests/*Create*Spec.js',
    activate: 'tests/*Activate*Spec.js'
},


jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 3600000,
    isVerbose: true
},

getPageTimeout: 120000,
allScriptsTimeout: 3600000,
delayBrowserTimeInSeconds: 0,

beforeLaunch: function() {
    return new Promise(function(resolve){
        reporter.beforeLaunch(resolve);
    });
},
afterLaunch: function(exitCode) {
    return new Promise(function(resolve){
        reporter.afterLaunch(resolve.bind(this, exitCode));
    });
},

onPrepare: function() {

    require("babel-register");

    let origFn = browser.driver.controlFlow().execute;

    browser.driver.controlFlow().execute = function () {
        let args = arguments;

        origFn.call(browser.driver.controlFlow(), function () {
            return protractor.promise.delayed(this.delayBrowserTimeInSeconds * 100);
        });

        return origFn.apply(browser.driver.controlFlow(), args);
    };

    jasmine.getEnv().addReporter(reporter);

    let getScreenSize = function () {
        return browser.driver.executeScript(function () {
            return {
                width: window.screen.availWidth,
                height: window.screen.availHeight
            };
        });
    };

    getScreenSize().then(function (screenSize) {
        browser.driver.manage().window().setSize(screenSize.width, screenSize.height);
    });

    let jasmineReporters = require('jasmine-reporters');
    let junitReporter = new jasmineReporters.JUnitXmlReporter({
            consolidateAll: false,
            savePath: 'xml_Reports',
            filePrefix: '-xmloutput',
        });
        jasmine.getEnv().addReporter(junitReporter);
}};

`

Hallo, das ist das gleiche Problem wie dieses #4501.

In #4502 (als Ergänzung von 768fd393d1084a8da0ec6eeaa57) gibt es dafür bereits eine einfache Lösung, aber jemand aus dem Kernteam muss die PR überprüfen und zusammenführen. In Kürze fehlt der Teil, in dem Argumente für den Befehl zum Starten von Selen, in dem der Gecko-Treiber bereitgestellt wird, enthalten sind.

In lib/driverProviders/ local.ts fehlt Folgendes:

if (this.config_.geckoDriver) {
  serverConf.jvmArgs.push('-Dwebdriver.gecko.driver=' + this.config_.geckoDriver);
}

nachdem das gleiche für chromeDriver gemacht wurde:

if (this.config_.chromeDriver) {
  serverConf.jvmArgs.push('-Dwebdriver.chrome.driver=' + this.config_.chromeDriver);
}

Ich hoffe, dass jemand diese PR sehr bald überprüft und zusammenführt und dieses nervige Problem löst :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen