如何在量角器脚本中设置浏览器名称参数

时间:2015-05-05 05:09:30

标签: protractor

我已经开始使用量角器,现在可以通过在protractor.conf.js文件中进行以下更改来在多个浏览器上执行相同的测试脚本。

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

现在,我想参数化我的测试以提供应该运行的浏览器名称。例如:我有2个测试用例,1个应该在chrome上运行,其他应该在firefox上运行。这应该通过在测试本身中提供浏览器名称参数来处理。以下是我的第一个测试用例。你能帮我把浏览器名称参数传递给它吗?

'use strict';

/* https://github.com/angular/protractor/blob/master/docs/toc.md */

describe('Login and Logout Test Case', function () {

    //before Each unittests case load the login page
    beforeEach(function () {
        browser.get('#/login');
    });

    it('unittests the scenario when the user clicks on Dutch', function () {

        //The link for Dutch language from the login page is clicked

        element(by.id('username')).sendKeys('kaustubhsaxena');
        element(by.id('password')).sendKeys('saxena');

        element(by.id('login')).click();

        browser.quit();

     });
});

提前感谢您的帮助

1 个答案:

答案 0 :(得分:1)

要获取浏览器名称,您可以使用browser.getCapabilities()

browser.getCapabilities().then(function(capabilities) {
    // Outputs 'chrome' when on Chrome
    console.log(capabilities.caps_.browserName);
});

如果等到承诺得到解决并不适合您的用例,那么在我的系统上运行的一种更黑的方式就是直接访问已解析/已完成的会话对象:

// Outputs 'chrome' when on Chrome
console.log(browser.driver.session_.value_.caps_.caps_.browserName);