Protractor: المنقلة 5.2.0: - غير قادر على إنشاء خدمة جديدة: GeckoDriverService عند استخدام seleniumServerJar بدلاً من seleniumAddress

تم إنشاؤها على ٢٧ نوفمبر ٢٠١٧  ·  3تعليقات  ·  مصدر: angular/protractor

أهلا،
لم أتمكن من إنشاء خدمة جديدة: GeckoDriverService عند محاولة استخدام Firefox. ما لاحظته هو عندما يتم استخدام seleniumServerJar لفتح وإغلاق خادم السيلينيوم. إذا كنت أستخدم seleniumAddress ، فكل شيء يعمل بشكل جيد. هل هناك طريقة يمكن من خلالها استخدام seleniumServerJar و Firefox معًا.

إصدار العقدة: 6.9.5
المنقلة: 5.2.0
السيلينيوم: 3.6
أبو بريص سائق: 0.19
نظام التشغيل: Mac

التعليق الأكثر فائدة

مرحبًا ، هذه هي نفس المشكلة مثل هذه المشكلة # 4501.

يوجد بالفعل حل بسيط لهذا في # 4502 (كإكمال 768fd393d1084a8da0ec6eeaa57) ولكن يحتاج شخص من الفريق الأساسي إلى مراجعة العلاقات العامة ودمجها. باختصار ، الجزء الذي يحتوي على أرجس للأمر لبدء السيلينيوم ، حيث يتم توفير برنامج تشغيل الوزغة ، مفقود.

في lib / driverProviders / local.ts ، ما يلي مفقود:

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

بعد أن يتم الأمر نفسه مع chromeDriver:

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

آمل أن يقوم شخص ما بمراجعة ودمج هذه العلاقات العامة قريبًا جدًا ، وحل هذه المشكلة المزعجة :)

ال 3 كومينتر

adityagautam مرحبًا ، هل يمكنك من فضلك مشاركة ملف تكوين المنقلة؟

@ Xotabu4 شكرا للنظر في هذه المسألة. هنا ملف التكوين الخاص بي

`` دع HtmlScreenshotReporter = يتطلب ('منقلة-jasmine2-screenshot-reporter') ؛
تتطلب ("سجل بابل") ؛

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);
}};

"

مرحبًا ، هذه هي نفس المشكلة مثل هذه المشكلة # 4501.

يوجد بالفعل حل بسيط لهذا في # 4502 (كإكمال 768fd393d1084a8da0ec6eeaa57) ولكن يحتاج شخص من الفريق الأساسي إلى مراجعة العلاقات العامة ودمجها. باختصار ، الجزء الذي يحتوي على أرجس للأمر لبدء السيلينيوم ، حيث يتم توفير برنامج تشغيل الوزغة ، مفقود.

في lib / driverProviders / local.ts ، ما يلي مفقود:

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

بعد أن يتم الأمر نفسه مع chromeDriver:

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

آمل أن يقوم شخص ما بمراجعة ودمج هذه العلاقات العامة قريبًا جدًا ، وحل هذه المشكلة المزعجة :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات