project.po.ts 中的内容 ->
newProjectButton() {
return element(by.id('new-project'));
}
newProjectButtonText() {
return this.newProjectButton().getText();
}
规范文件中的内容 ->
describe('Projects', function () {
let page: RMLProjectsPage;
page = new RMLProjectsPage();
it('should create new project and its first workspace', () => {
page.navigateToProjectsPage();
expect(page.newProjectButtonText()).toEqual('New Project');
...
在此测试之前运行测试并通过登录测试。但是,在成功导航到项目页面后,它找不到新项目按钮。错误失败:使用定位器找不到元素:By(css selector, *[id="new-project"])
现在如果我把 browser.ignoreSynchronization = true; 在页面构建之后,它找到了那个按钮,但它使响应形式的其他查询失败。在 Angular 应用中,我们不应该做 browser.ignoreSynchronization = true; 正确的?我在这里错过了什么......?
browser.ignoreSynchronization = true;
不推荐尝试browser.waitForAngularEnabled(false);
。
要回答你的问题,如果你 makebrowser.waitForAngularEnabled(true);
那么你是在要求量角器等到所有的 http 请求都完成。如果您的应用程序有连续的网络调用,那么就会browser.waitForAngularEnabled(false);
出现。
注意:如果您正在使用,browser.waitForAngularEnabled(false);
则必须使用显式等待。
希望回答对你有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句