如何避免validation失败后的“console.log”输出

我正在做基于量angular器+selenium+茉莉花的e2etesting。 我有以下代码

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(”validation后“);” 因为前一步有意故障。 这将如何完成?

谢谢你的帮助。

如果您只想logging已解决的承诺,请将logging置于承诺中:

 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: ... 

即将推出的function用于量angular器中使用的jasminewd – jasmine。 但是,目前你不能以良好的方式做到这一点 –

https://github.com/angular/protractor/issues/3234