如何避免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。 但是,目前你不能以良好的方式做到这一点 –