我正在使用实习生进行UI测试自动化。我有一个测试,输入无效的用户名导致测试失败。但是,我的测试并没有失败。
我希望自动化的步骤:
这是我的代码:
页面对象脚本:
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
});
})
有人可以解释一下这里不起作用的内容以及如何使其正常工作吗?
答案 0 :(得分:3)
您需要返回loginPage
承诺链:
return loginPage.enterLoginName('ss')...