1
忽略selectUser
函数的布局。我仍然在试着玩弄它。如何使用页面对象commands
中的函数?在这个函数在每个命令函数内重复5次之前,但是对于清洁来说,显然需要改变,我只是无法弄清楚。在Nightwatch中使用页面对象命令内的函数
页对象片段:
var selectUser = function(userName, password) {
return this.waitForElementVisible('@usernameField')
.setValue('@usernameField', userName)
.setValue('@passwordField', password)
.click('@signOnButton')
.waitForElementVisible('@eventTaskManager');
};
module.exports = {
elements: {
usernameField: '#UserName',
passwordField: '#Password',
signOnButton: 'input[value="Sign On"]',
cancelButton: 'a[href$="/cancel"]',
errorMessage: '.icon-warning',
eventTaskManager: '.concierge'
},
commands: [{
signInAsUniregisteredUser: function() {
selectUser(unregisteredUserName, unregisteredUserPass);
},
signInAsRegisteredUser: function() {
selectUser(registeredUserName, prodRegisteredPass);
},
signInAsUnregisteredUser_Regression: function() {
selectUser(unregisteredUserName, unregisteredUserPass);
},
signInAsRegisteredUser_Regression: function() {
selectUser(registeredUserName, prodRegisteredPass);
},
signInAsRegisteredUser_Production: function() {
selectUser(prodRegisteredUser, prodRegisteredPass);
}
}]
};
非常感谢。但总的来说,你将如何在命令中使用函数?假设,让我们保持值的硬编码。将量角器脚本转换为守夜,并且除登录示例外还有更多功能。 – inShaneity