运行不同窗口尺寸的量角器测试?

时间:2014-03-10 16:06:51

标签: javascript angularjs jasmine protractor

我想启动4个不同的镀铬窗口,在4个分辨率上运行相同的测试。 -

我知道量角器有一个名为multiCapabilities的功能,我知道你可以像这样设置窗口大小: browser.manage().window().setSize(320, 480);

但我真的找不到合并这些的方法2.或者是否有更简单的方法来创建这种行为

2 个答案:

答案 0 :(得分:26)

至于我,最好的方法是在config中添加multiCapabilities

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
}]

答案 1 :(得分:8)

我想到的一个非常简单的解决方案是在测试文件中使用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(){...};
});