【发布时间】:2015-09-02 03:53:50
【问题描述】:
我有一些使用量角器为 angular.js 应用程序编写的测试。我正在使用Page Objects 设计模式,我有一些方法可以通过单击链接和按钮导航到其他页面。不久之后我打电话给browser.waitForAngular()。
页面对象
module.exports = function () {
this.companyNameLink = element(by.id('viewCompany'));
this.newMeetingButton = element(by.id('newMeetingButton'));
this.createNewGeneralMeeting = function () {
this.newMeetingButton.click();
browser.waitForAngular();
};
this.goToCompanyPage = function () {
this.companyNameLink.click();
browser.waitForAngular();
};
};
在一些规范文件中,我像这样使用这个页面对象..
var DashboardPage = require('../dashboardPageObject.js');
dashboardPage = new DashboardPage();
...
dashboardPage.goToCompanyPage();
但问题是有时我收到angular could not be found on the window 错误并且我的测试失败。大多数时候测试运行。这个问题是随机的。我的问题是我应该从页面对象方法中删除browser.waitForAngular() 并在我像这样调用方法后调用它...
修改后的页面对象
...
this.goToCompanyPage = function () {
this.companyNameLink.click();
};
...
规格文件
dashboardPage.goToCompanyPage();
browser.waitForAngular();
调用browser.waitForAngular() 会导致问题吗?我应该在哪里打电话给waitForAngular 有没有关于如何使用它的最佳实践?
【问题讨论】:
标签: javascript angularjs testing protractor angularjs-e2e