使用Protractor 1.0.0 rc2 +是否还需要browser.waitForAngular()?

时间:2014-07-11 06:07:10

标签: angularjs protractor

我正在观看youtube视频,并且有一个例子:

loginPage.userName.sendKeys ...
loginPage.password.sendKeys ...
loginPage.loginButton.click();
browser.waitForAngular();
expect( ...

我认为Protractor的编码方式使得它可以在不需要browser.waitForAngular()的情况下进行等待。

在这个例子中,有人可以确认我是否需要waitForAngular()吗?

1 个答案:

答案 0 :(得分:0)

我认为您是否需要browser.waitForAngular()取决于您正在测试的应用程序。

不是100%确定条件是什么,但我发现当我的测试执行需要服务器响应的任务时,我需要这种方法,例如更改用户在网络中的密码应用程序。

另一方面,根据我的经验,browser.waitForAngular()不够强大,无法处理我需要执行的每种类型的等待条件。

例如,我正在为Web应用程序编写测试,其中用户通过非Angular页面登录并被定向到Angular页面。如果我想断言来测试登录登录页面上的元素,我就不能使用browser.waitForAngular(),因为非角度页面无法访问此方法。我发现一种更可靠的方式告诉司机"等待页面完全加载,然后检查页面上的文字"是使用browser.wait显式等待下一页上元素的存在或可见性,您知道这些元素的加载时间最长。