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);
};
上一篇:python-将Django与Celery结合使用


下一篇:Hive连接数据库失败的原因(NestedThrowables)