测试没有失败使用chai断言与实习生

时间:2017-01-18 19:15:20

标签: javascript chai intern

我正在使用实习生进行UI测试自动化。我有一个测试,输入无效的用户名导致测试失败。但是,我的测试并没有失败。

我希望自动化的步骤:

  1. 输入用户名
  2. 点击下一步按钮
  3. 检查是否显示密码文本框(仅当用户名有效时才显示密码文本框,否则保留在同一页面上)
  4. 这是我的代码:

    页面对象脚本:

       enterLoginName: function (username) {
            console.log('entering username');
            return this.remote
                .findById(this.locator.uname).clearValue().sleep(1000)
                .type(username)
                .end().then(function () {
                    console.log('username entered ');
                })
                .findById(this.locator.nextbtn).sleep(1000)
                .click().end(); // enter login name and click next button
        },
        isValidUsername:function() {
            console.log('checking if password textbox is displayed');
            return this.remote
                .findDisplayedById(this.locator.pwd).isDisplayed();
                 //passowd test box is only shown if username is valid
        },
    

    测试脚本:

           'correct login name lands to password page': function () {
    
                loginPage.enterLoginName('ss').then(function () {
                    loginPage.isValidUsername().then(function (pass) {
                        console.log(pass);
    
                    }, function (fail) {
                     // code reaches here since password test box is not displayed
                        console.log('user name uas valid , enter password panel not was shown');
                        assert.fail(0, 1, 'Exception not thrown');// test not failing
                    });
    
                })
    

    有人可以解释一下这里不起作用的内容以及如何使其正常工作吗?

1 个答案:

答案 0 :(得分:3)

您需要返回loginPage承诺链:

return loginPage.enterLoginName('ss')...