Internet Explorer Selenium量角器e2e测试

Ser*_*kov 5 selenium jasmine angularjs selenium-webdriver protractor

我想在CI构建过程中添加一些e2e测试.我已经针对chrome + firefox添加了它们(最简单的).但我真的想为几个IE版本做这件事.如何在linux/mac上的构建过程中注入它?

我找到了这样的文章:http: //elgalu.github.io/2014/run-protractor-against-internet-explorer-vm/

但看起来它不是我需要的100%.有人可以提供简单的配置样本吗?

ale*_*cxe 3

您需要一个selenium 服务器,可以是您自己的服务器,也可以位于browserstack/ SauceLabs。如果您打算自己做,简而言之,您需要设置一个selenium 网格并注册节点,其中一个节点应该是一台 Windows 机器,您可以在其中针对 IE 运行测试。

就我个人而言,我已经在多个浏览器上成功运行了量角器 e2e 测试,包括 browserstack 上的不同ChromeFirefoxIE版本。这是我使用的配置(它还包括jasmine junit reporterCI 所需的配置):

'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',
            'resolution': '1024x768',

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

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

            'browser': 'Internet Explorer',
            'browser_version': '8.0',
            'os': 'Windows',
            'os_version': '7',
            'resolution': '1024x768',

            specs: [
                '*.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'
            ]
        }
    ],

    // Browserstack's 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
    }
};
Run Code Online (Sandbox Code Playgroud)