我正在用selenium编写一个简单的夜间测试,测试成功登录和登录失败。我的测试工作正常,但结果并没有恢复我的预期。以下是我的测试。
module.exports = {
'Login Success': function(browser){
var data = browser.globals;
browser
.url(data.launch_url)
.login(data.token,function(result){
console.log("The login is successful",result.value);
})
.verify.elementNotPresent('.errorfield')
.verify.elementPresent('#header')
.end();
}
};
和我的自定义命令登录
exports.command = function(token, callback){
const element = this.globals.login_element;
callback = callback || function(){};
this
.waitForElementPresent(element.tokenInput, 5000)
.verify.elementPresent(element.tokenInput)
.setValue(element.tokenInput, token)
.click(element.signinButton)
.pause(1000)
.execute(function(token) {
return !!(document.getElementById(element.tokenInput));
},[token],function(result){
callback.call(this,result);
});
return this;
};
我的测试工作正常。但是,我期待
console.log("The login is successful",result.value);
打印一个布尔值,即true或false。然而,结果返回了一些根本没有意义的长硒物体。请问我哪里出错了?来自
.execute(function(token) {
return !!(document.getElementById(element.tokenInput));
}
我希望有一个布尔结果返回到我的控制台,结果肯定应该。任何帮助将不胜感激。