How to run protractor e2e test without opening a browser through a Jenkins server?

  • We integrate the mercury repository with the Jenkins server.
  • Whenever the repository is updated, the Jenkins server starts the automatic build and automatically runs the E2E test scripts. It launches a browser to run test cases.
  • So, in my case, Jenkins running on the server has no browsers installed. therefore, we need to run the E2E transporter test without opening a browser.

Thanks in advance. Any help was greatly appreciated.

+4
source share
1 answer

selenium - ( ) , browserstack saucelabs.

Bamboo e2e . , :

'use strict';

var browserstackUser = 'user';
var browserstackKey = 'key';

exports.config = {
    multiCapabilities: [
        {
            'browserstack.user': browserstackUser,
            'browserstack.key': browserstackKey,
            'browserstack.local': 'true',
            'browserstack.debug': 'true',

            'browserName': 'Chrome',
            'os': 'Windows',
            'os_version': '8',

            specs: [
                '*.spec.js'
            ],
            exclude: [
                'footer.disabledCookies.spec.js',
                'footer.disabledFlash.spec.js'
            ]
        },

        {
            'browserstack.user': browserstackUser,
            'browserstack.key': browserstackKey,
            'browserstack.local': 'true',
            'browserstack.debug': 'true',

            'browserName': 'Internet Explorer',
            'browser_version': '9.0',
            'os': 'Windows',
            'os_version': '7',
            'resolution': '1024x768',

            specs: [
                '*.spec.js'
            ],
            exclude: [
                'footer.disabledCookies.spec.js',
                'footer.disabledFlash.spec.js'
            ]
        }
    ],

    maxSessions: 2,

    // Browserstack selenium server address
    seleniumAddress: 'http://hub.browserstack.com/wd/hub',

    framework: 'jasmine',

    allScriptsTimeout: 300000,

    baseUrl: 'http://localhost:9001',

    onPrepare: function () {
        require('jasmine-reporters');
        var capsPromise = browser.getCapabilities();
        capsPromise.then(function (caps) {
            var browserName = caps.caps_.browserName.toUpperCase();
            var browserVersion = caps.caps_.version;
            var prePendStr = browserName + "-" + browserVersion + "-";
            jasmine.getEnv().addReporter(new
                jasmine.JUnitXmlReporter("test-results", true, true, prePendStr));
        });
    },

    jasmineNodeOpts: {
        showColors: true,
        isVerbose: true,
        includeStackTrace: true,
        defaultTimeoutInterval: 3600000
    }
};

JUnitXmlReporter jasmine-reporters, JUnit XML. , jenkins.

+1

All Articles