我正在测试一个有加载栏的登录页面。 我的场景应测试当用户点击"登录"时是否显示加载栏。按钮。 我为test-flow创建了以下函数,但它总是失败并且出现超时错误。
isLoadBarDisplayed: function () {
var thePage = this.page;
thePage.userNameField.sendKeys(randVal);
thePage.passwordField.sendKeys(randVal);
browser.ignoreSynchronization = true;
thePage.LoginBtn.submit()
var EC = protractor.ExpectedConditions;
browser.wait(EC.visibilityOf(thePage.loadBar), 5000, false);
browser.ignoreSynchronization = false;
},
另一个代码总是产生错误:
.......
browser.ignoreSynchronization = true;
return thePage.LoginBtn.click().then(function(){
return thePage.loadBar.isDisplayed()
})
browser.ignoreSynchronization = false;
}
非常欢迎任何想法! 提前致谢
答案 0 :(得分:0)
要了解解决问题的其他方法,请参阅上面的评论。在我的例子中,以下部分代码是正确的:
var result
thePage.userNameField.sendKeys(randVal);
return thePage.passwordField.sendKeys(randVal).then(function () {
browser.ignoreSynchronization = true;
}).then(function () {
thePage.LoginBtn.submit()
thePage.loadBar.isDisplayed().then(function (answer) {
result = answer;
});
}).then(function () {
browser.ignoreSynchronization = false;
return result;
});