我正在基于量角器+硒+茉莉花进行e2e测试。我有以下代码
describe("test google search box", function () {
function firstPart() {
console.log("before starting");
browser.get("http://www.google.com");
console.log("after running");
}
function secondPart() {
console.log("begin validation");
var searchBox = element(By.id('kw'));
**expect(searchBox.getAttribute("id")).toEqual("kw1"); //this is a intentional failure**
console.log("after validation");
}
beforeEach(function () {
return browser.ignoreSynchronization = true;
});
it("if search box exists", function () {
var flow = browser.controlFlow();
protractor.promise.all(flow.execute(firstPart), flow.execute(secondPart));
});
});
我不想执行'console.log(“验证后”);'因为在之前的步骤中故意造成了失败。怎么做?
谢谢你的帮助。
最佳答案
如果只想记录已解决的promise,则将记录放在promise中:
function log(message) {
browser.controlFlow().execute(function(){
console.log(message);
});
}
function firstPart() {
log("before starting");
browser.get("http://www.google.com");
log("after running");
}
function secondPart() {
log("begin validation");
var searchBox = element(By.id('kw'));
expect(searchBox.getAttribute("id")).toEqual("kw1"); //this is a intentional failure**
log("after validation");
}
it("if search box exists", function () {
firstPart();
secondPart();
});
输出:
Started
before starting
after running
begin validation
F
Failures:
...