E2E testing on multiple/parallel browsers in Protractor?

前端 未结 1 1458
我在风中等你
我在风中等你 2020-12-16 06:52

Using Protractor how do I setup/add a parallel browsers for testing.

example: Test suites on not only chrome, but also firefox<

1条回答
  •  -上瘾入骨i
    2020-12-16 07:09

    Using Protractor how do I setup/add a parallel browsers for testing.

    You need to list your browsers in multiCapabilities:

    multiCapabilities: [{
      'browserName': 'firefox'
    }, {
      'browserName': 'chrome'
    }]
    

    Also is there a simple way of test for mobile? say ios8 safari or mobile chrome?

    One option would be to use Appium framework, here are the relevant documentation sections:

    • Setting Up Protractor with Appium - Android/Chrome
    • Setting Up Protractor with Appium - iOS/Safari

    Another option would be to use Browserstack (or Sauce Labs) as your selenium server. There is a huge variety of browsers/platforms to choose from, including different mobile devices.

    Here is a sample config from one of our internal projects:

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

    0 讨论(0)
提交回复
热议问题