与实习生一起使用 chai assert 测试不会失败

test not failing using chai assert with intern

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

我想自动化的步骤:

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

这是我的代码:

页面对象脚本:

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

            })

有人可以解释这里有什么问题吗?如何让它正常工作?

您需要return loginPage 承诺链:

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