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
@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 :)
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:
nachdem das gleiche für chromeDriver gemacht wurde:
Ich hoffe, dass jemand diese PR sehr bald überprüft und zusammenführt und dieses nervige Problem löst :)