我已经开始使用量角器,现在可以通过在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();
});
});
提前感谢您的帮助
答案 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);