Protractor: Rapporteur 5.2.0 : -Impossible de créer un nouveau service : GeckoDriverService lorsque seleniumServerJar est utilisé au lieu de seleniumAddress

Créé le 27 nov. 2017  ·  3Commentaires  ·  Source: angular/protractor

Salut,
Je ne parviens pas à créer un nouveau service : GeckoDriverService lorsque j'essaie d'utiliser Firefox. Ce que j'ai remarqué, c'est lorsque seleniumServerJar est utilisé pour ouvrir et fermer le serveur de sélénium. Si j'utilise seleniumAddress, tout fonctionne parfaitement bien. Existe-t-il un moyen d'utiliser ensemble seleniumServerJar et firefox.

Version du nœud : 6.9.5
Rapporteur : 5.2.0
Sélénium : 3,6
geckoPilote : 0,19
OS : Mac

Commentaire le plus utile

Bonjour, c'est le même problème que celui-ci #4501.

Il existe déjà une solution simple pour cela dans #4502 (comme l'achèvement de 768fd393d1084a8da0ec6eeaa57) mais quelqu'un de l'équipe de base doit revoir le PR et le fusionner. En bref, la partie où args pour la commande de démarrage de sélénium, où le pilote gecko est fourni, est manquante.

Dans lib/driverProviders/ local.ts , il

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

après la même chose pour chromeDriver :

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

J'espère que quelqu'un examinera et fusionnera ce PR très bientôt, et résoudra ce problème ennuyeux :)

Tous les 3 commentaires

@adityagautam Bonjour, pouvez-vous s'il vous plaît partager votre fichier de configuration de rapporteur ?

@ Xotabu4 Merci d'avoir examiné ce problème. voici mon fichier de configuration

`let HtmlScreenshotReporter = require('protractor-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);
}};

`

Bonjour, c'est le même problème que celui-ci #4501.

Il existe déjà une solution simple pour cela dans #4502 (comme l'achèvement de 768fd393d1084a8da0ec6eeaa57) mais quelqu'un de l'équipe de base doit revoir le PR et le fusionner. En bref, la partie où args pour la commande de démarrage de sélénium, où le pilote gecko est fourni, est manquante.

Dans lib/driverProviders/ local.ts , il

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

après la même chose pour chromeDriver :

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

J'espère que quelqu'un examinera et fusionnera ce PR très bientôt, et résoudra ce problème ennuyeux :)

Cette page vous a été utile?
0 / 5 - 0 notes