量角器:如何测试负载条

时间:2017-01-18 17:31:57

标签: javascript promise protractor automated-tests

我正在测试一个有加载栏的登录页面。 我的场景应测试当用户点击"登录"时是否显示加载栏。按钮。 我为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;
}

非常欢迎任何想法! 提前致谢

1 个答案:

答案 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;
    });