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
@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 :)
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
après la même chose pour chromeDriver :
J'espère que quelqu'un examinera et fusionnera ce PR très bientôt, et résoudra ce problème ennuyeux :)