[英]Test ng-click handler on anchor tag
我有一个链接到外部站点的常规(非JS)锚标签,但是单击时执行的其他行为会更改DOM
<body ng-controller="MyController">
<a href="https://www.google.co.uk/" ng-click="inProgress = true">
{{ inProgress ? "Going to Google" : "Go to Google" }}
</a>
</body>
我想在E2E量角器测试中测试这种行为。 但是,看起来好像一旦单击链接,后续命令就会在外部页面的上下文中运行。 例如,以下测试通过:
browser.element(by.css('a')).click();
expect(browser.getCurrentUrl()).toBe('https://www.google.co.uk/');
但是以下测试失败
browser.element(by.css('a')).click();
expect(browser.element(by.css('body')).getText()).toBe('Going to Google');
与故障显示了谷歌主页的内容的文本body
。
如何测试一个非JavaScript点击后会发生什么a
标签?
我想您需要在单击发生后等待文本更改。 单击后立即从代码中查找文本吗? 您是否尝试过预期条件
var EC = protractor.ExpectedConditions;
browser.wait(EC.textToBePresentInElement($('body'), 'Going to Google'), 5000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.