Как запустить несколько удаленных устройств с различными возможностями на sauceLabs? - PullRequest
0 голосов
/ 19 июня 2019

как запустить несколько удаленных устройств с разными возможностями на sauceLabs, но в течение одного запуска тестов запускаются два устройства, мобильное и браузер, я помещаю их возможности в переменные webClient и клиента, например, мне нужно запустить три параллельных запустить каждый из них запускает два. Устройство представляет собой браузер и мобильный телефон, и их возможности описаны в двух переменных webClient и client.

Первое, что произошло, - это набор возможностей, который запускает все устройства на «тарелках», но когда начинается тест, переменные client и webClient не определены.

exports.config = {
    suites: {
        specs: [
            './dist/e2e/Specs/1_sauceLabs_test.js'
        ]
    },

    capabilities:
    [
        {
            browserName: 'chrome',
            platformName: 'OS X',
            pageLoadStrategy: 'normal'
        },
        {
            appiumVersion: '1.13.0',
            platformVersion: "8.1",
            deviceName: "Samsung Galaxy S9 Plus WQHD GoogleAPI Emulator",
            browserName: "",
            platformName: "Android",
            app: 'http://appium.s3.amazonaws.com/ContactManager.apk',
            deviceOrientation: 'portrait'
        },
        {
            appiumVersion: '1.13.0',
            platformVersion: "8.1",
            deviceName: "Samsung Galaxy S9 Plus WQHD GoogleAPI Emulator",
            browserName: "",
            platformName: "Android",
            app: 'http://appium.s3.amazonaws.com/ContactManager.apk',
            deviceOrientation: 'portrait'
        }
    ],
    maxInstances: 4,
    deprecationWarnings: false,
    sync: true,
    logLevel: 'error',
    coloredLogs: true,
    bail: 0,
    screenshotPath: './errorShots/',
    baseUrl: 'https://google.com',
    waitforTimeout: 20000,
    connectionRetryTimeout: 90000,
    connectionRetryCount: 3,
    user: '**************',
    key: '*********************************',
    sauceConnectOpts: {
        logger: function (message) {
            console.log(`[SauceLabs]: ${message}`);
        }
    },
    services: ['sauce'],
    sauceConnect: true,
    framework: 'jasmine',
    jasmineNodeOpts: {
        random: false,
        showColors: true,
        includeStackTrace: true,
        defaultTimeoutInterval: 12 * 60 * 1000,
    },
    onPrepare: (config, capabilities) => {

    },
    beforeSession: (config, capabilities, specs) => {
        require('babel-register');
    },
    before: (capabilities, specs) => {
        let SpecReporter = require('jasmine-spec-reporter/built/main').SpecReporter;
        jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: true, displayErrorMessages: true}));
        isTablet = client.desiredCapabilities.isTablet;
    }
};

с таким массивом я получаю переменные, но только для одного прогона и с двумя устройствами, а не с несколькими устройствами

capabilities: {
        webClient: {
            desiredCapabilities: {
                browserName: 'chrome',
                platformName: 'OS X',
                pageLoadStrategy: 'normal'

            }
        },
        client: {
            desiredCapabilities: {
                appiumVersion: '1.13.0',
                platformVersion: "8.1",
                deviceName: "Samsung Galaxy S9 Plus WQHD GoogleAPI Emulator",
                browserName: "",
                platformName: "Android",
                app: 'http://appium.s3.amazonaws.com/ContactManager.apk',
                deviceOrientation: 'portrait'
            }
        }
    }

Я попробовал это снова? но та же ошибка 'ReferenceError: клиент не определен'

capabilities: [{
            webClient: {
                desiredCapabilities: {
                    browserName: 'chrome',
                    platformName: 'OS X',
                    pageLoadStrategy: 'normal'

                }
            },
            client: {
                desiredCapabilities: {
                    appiumVersion: '1.13.0',
                    platformVersion: "8.1",
                    deviceName: "Samsung Galaxy S9 Plus WQHD GoogleAPI Emulator",
                    browserName: "",
                    platformName: "Android",
                    app: 'http://appium.s3.amazonaws.com/ContactManager.apk',
                    deviceOrientation: 'portrait'
                }
            }
        }, {
            webClient: {
                desiredCapabilities: {
                    browserName: 'chrome',
                    platformName: 'OS X',
                    pageLoadStrategy: 'normal'

                }
            },
            client: {
                desiredCapabilities: {
                    appiumVersion: '1.13.0',
                    platformVersion: "8.1",
                    deviceName: "Samsung Galaxy S9 Plus WQHD GoogleAPI Emulator",
                    browserName: "",
                    platformName: "Android",
                    app: 'http://appium.s3.amazonaws.com/ContactManager.apk',
                    deviceOrientation: 'portrait'
                }
            }
        }]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...