使用量角器和角度带模式测试登录对话框时发生超时错误
timeout-error when testing login-dialog using protractor and angular-strap modal
我有一个使用角带模式的登录对话框,该对话框由调用
scope.authModal = $modal({
template: '/components/login/login.html',
show: false,
scope: scope,
backdrop: 'static'
});
(该代码位于登录指令的链接函数中。)
现在,我的量角器代码如下:
it('should perform login properly', function () {
browser.manage().deleteAllCookies();
element(by.model('login.username')).sendKeys('xy123');
element(by.model('login.password')).sendKeys('abz89');
element(by.binding("guiText.loginButton")).click();
browser.waitForAngular();
expect(element(by.id('login.username')).isPresent()).to.eventually.equal(false);
});
在上面的另一个测试中,当登录对话框可见时,element(by.id('login.username')).isPresent()
已被证明为true。
问题是,我通过那个测试得到了Error: timeout of 10000ms exceeded
。在浏览器中,我可以看到凭据输入正确,并且正在单击按钮。登录模式消失,然后什么也没发生,浏览器在等待10秒后最终运行到超时异常。
我遇到了同样的问题,我在下面解决了这个问题。
在你的助手文件中编写这个函数,并调用它来点击代码中的登录按钮。尝试通过Id访问按钮,然后在该功能中传递Id,如果不是Id,则根据您的需要更新功能
var clickAndWait= function (btnId) {
var returnVal = false;
browser.wait(function () {
if (!returnVal) {
element(by.id(btnId)).click().then(function () {
returnVal = true;
});
}
return returnVal;
}, 30000);
};
相关文章:
- javascript sdk正在打开多个登录对话框
- 用于登录/注册Angular应用程序的模式/对话框
- 单击菜单栏打开jQuery对话框作为登录框
- 脸书图FB.登录连接对话框,取消事件
- 如何实现页面中弹出的登录对话框
- 在JSF登录对话框中使用jQuery/Javascript重置密码
- 第三方网站的登录对话框
- 如何在用户登录时删除登录对话框
- Facebook共享对话框需要登录
- 从flash调用时,facebook javascript sdk登录对话框被阻止
- 使用量角器和角度带模式测试登录对话框时发生超时错误
- 为什么登录对话框不工作
- Facebook登录认证对话框和权限
- Chrome浏览器无法登录Facebook.没有对话框和未捕获的Javascript异常
- 弹出facebook登录对话框
- 当登录多个帐户时,无法获得Google Drive API共享对话框
- Facebook连接登录对话框
- 让我登录在php函数使用模态对话框登录表单
- 带有publish_actions对话框的Facebook javascript登录不起作用
- Facebook登录:请确保您的redirect_uri与您在OAuth对话框中使用的重定向_uri相同