Protractor: ๊ฐ๋„๊ธฐ 5.2.0:-์ƒˆ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Œ: seleniumAddress ๋Œ€์‹  seleniumServerJar๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ GeckoDriverService

์— ๋งŒ๋“  2017๋…„ 11์›” 27์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: angular/protractor

์•ˆ๋…•ํ•˜์„ธ์š”,
Firefox๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ƒˆ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: GeckoDriverService๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์•Œ์•„ ์ฐจ๋ฆฐ ๊ฒƒ์€ seleniumServerJar๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์…€๋ ˆ๋Š„ ์„œ๋ฒ„๋ฅผ ์—ด๊ณ  ๋‹ซ์„ ๋•Œ์ž…๋‹ˆ๋‹ค. seleniumAddress๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. seleniumServerJar์™€ firefox๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋…ธ๋“œ ๋ฒ„์ „: 6.9.5
๊ฐ๋„๊ธฐ: 5.2.0
์…€๋ ˆ๋Š„: 3.6
๋„๋งˆ๋ฑ€๋ถ™์ด ๋“œ๋ผ์ด๋ฒ„: 0.19
OS: ๋งฅ

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”, ์ด๊ฒƒ์€ #4501๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

#4502(768fd393d1084a8da0ec6eeaa57 ์™„๋ฃŒ)์— ์ด์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์†”๋ฃจ์…˜์ด ์ด๋ฏธ ์žˆ์ง€๋งŒ ํ•ต์‹ฌ ํŒ€์˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ PR์„ ๊ฒ€ํ† ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณง, gecko ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ œ๊ณต๋˜๋Š” ์…€๋ ˆ๋Š„ ์‹œ์ž‘ ๋ช…๋ น์— ๋Œ€ํ•œ args ๋ถ€๋ถ„์ด ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

๋ˆ„๊ตฐ๊ฐ€ ์ด PR์„ ๊ณง ๊ฒ€ํ† ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•˜์—ฌ ์ด ์„ฑ๊ฐ€์‹  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. :)

๋ชจ๋“  3 ๋Œ“๊ธ€

@adityagautam ์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ๋„๊ธฐ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@Xotabu4 ์ด ๋ฌธ์ œ๋ฅผ

`let HtmlScreenshotReporter = require('๊ฐ๋„๊ธฐ-jasmine2-์Šคํฌ๋ฆฐ์ƒท-๋ฆฌํฌํ„ฐ');
require("๋ฐ”๋ฒจ ๋“ฑ๋ก");

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 ์™„๋ฃŒ)์— ์ด์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์†”๋ฃจ์…˜์ด ์ด๋ฏธ ์žˆ์ง€๋งŒ ํ•ต์‹ฌ ํŒ€์˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ PR์„ ๊ฒ€ํ† ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณง, gecko ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ œ๊ณต๋˜๋Š” ์…€๋ ˆ๋Š„ ์‹œ์ž‘ ๋ช…๋ น์— ๋Œ€ํ•œ args ๋ถ€๋ถ„์ด ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

๋ˆ„๊ตฐ๊ฐ€ ์ด PR์„ ๊ณง ๊ฒ€ํ† ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•˜์—ฌ ์ด ์„ฑ๊ฐ€์‹  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. :)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰