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

cod*_*ife 15 javascript jasmine angularjs protractor

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

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

但我真的没有找到一种方法来组合这些2.或者有一种更简单的方法来创建这种行为

小智 26

至于我,最好的方法是添加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
}]
Run Code Online (Sandbox Code Playgroud)

  • 添加一些细节并解释:) (3认同)

gle*_*tre 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(){...};
});
Run Code Online (Sandbox Code Playgroud)