在我的“ conf.js”中,测试套件的安排如下(使用saucelab的webdriver):
suites: {
abc: './abc/spec.js',
xyz: './xyz/spec.js',
pqr: './pqr/spec.js'
},
上述安排的问题是,如果警报框/窗口之一意外出现在测试套件之一中,则在该特定套件遭受故障并开始失败之后,测试套件便会出现。
当测试套件完成或只能手动处理时,量角器中是否有内置方法可以关闭所有窗口/警报框等?
最佳答案
据我了解,protractor
中没有地方可以提供“测试套件之前”或“测试套件之后”的逻辑(如果我错了,请纠正我)。
想法是使用afterEach()
,尝试切换到alert,如果存在,则切换为dismiss()
(或accept()
,取决于您的需求),如果不存在,则不执行任何操作:
describe("My test", function () {
afterEach(function () {
browser.switchTo().alert().then(
function (alert) {
alert.dismiss();
},
function (err) {}
);
});
it("Test smth", function () {
// ...
});
});
也可以看看:
Protractor Dismiss Alerts If Open