Подтвердить что ты не робот

Запускать проточные испытания с разными размерами окон?

Я хочу запустить 4 разных хромированных окна для выполнения тех же тестов на 4 разрешениях. -

Я знаю, что у protractor есть функция, называемая multiCapabilities, и я знаю, что вы можете установить размер окна следующим образом: browser.manage().window().setSize(320, 480);

Но я действительно не нахожу способ объединить эти 2. Или есть более простой способ создать это поведение.

4b9b3361

Ответ 1

Очень простым решением, которое приходит мне на ум, было бы создать цикл for в тестовом файле с помощью switch, чтобы ваши тесты выполнялись 4 раза с другим разрешением.

В начале ваших спецификаций:

describe('myApp', function () {
    for (var i = 0; i < 4; i++) {
        switch (i) {
            case 0:
                //set resolution 1
                browser.manage().window().setSize(320, 480);
                break;
            case 1:
                //set resolution 2
                browser.manage().window().setSize(600, 800);
                break;
            case 2:
                //set resolution 3
                browser.manage().window().setSize(768, 1024);
                break;
            case 3:
                //set resolution 4
                browser.manage().window().setSize(1080, 1920);
                break;
            default:
                return;
        }
    }
    // beforeEach() {...};
    // it('should do something', function(){...};
});

Ответ 2

Как и для меня, лучший способ - добавить multiCapabilities в config:

multiCapabilities: [{
   'browserName': 'chrome',
   'chromeOptions' : {
       args: ['--lang=en',
              '--window-size=800,800']
   },

   specs: ['spec.js']
},{
   'browserName': 'chrome',
   'chromeOptions' : {
    args: ['--lang=en',
           '--window-size=350,650']
   },

   specs: ['spec.js']
   // and so on
}]