标签:angularjs testing protractor angular-strap javascript
我有一个使用angular-strap模式的login-dialog,它被调用:
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);
});
在上方的另一个测试中,当登录对话框可见时,元素(by.id(‘login.username’)).isPresent()已被证明等于true.
问题是,我收到错误消息:该测试超出了10000ms的超时时间.在浏览器中,我可以看到正确输入了凭据并且正在单击按钮.登录模式消失,然后什么也没有发生,并且浏览器最终在等待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);
};
标签:angularjs,testing,protractor,angular-strap,javascript 来源: https://codeday.me/bug/20191121/2050838.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。