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