다른 oreder에서 테스트를 실행할 수 있으므로 세션을 다시 사용하는 것은 좋지 않지만 로그인 코드를 함수 앞에 배치하거나 사용자 정의 명령으로 추출 할 수도 있습니다.
예 : 는 https://github.com/dimetron/backbone_app/blob/master/nightwatch/custom-commands/login.js
1 -/사용자 정의 명령을 작성
exports.command = function(username, password, callback) {
var self = this;
this
.frame(null)
.waitForElementPresent('input[name=username]', 10000)
.setValue('input[name=username]', username)
.waitForElementPresent('input[name=password]', 10000)
.setValue('input[name=password]', password)
.click('#submit');
if(typeof callback === "function"){
callback.call(self);
}
return this; // allows the command to be chained.
};
3 login.js - - nightwatch 설정에서
"custom_commands_path" : "nightwatch/custom-commands",
이 추가 테스트 코드를 - 사용하기 전에. 로그인 (사용자, apssword)
module.exports = {
before: function(browser) {
console.log("Setting up...");
browser
.windowSize('current', 1024, 768)
.url("app:8000/")
.waitForElementVisible("body", 1000)
.login('user', 'password')
},
after : function(browser) {
browser.end()
console.log("Closing down...");
},
beforeEach: function(browser) {
browser
.pause(2000)
.useCss()
},
"Test 1": function(browser) {
browser
.assert.containsText("#div1", "some tex")
.pause(5000);
},
"Test 2": function(browser) {
browser
.assert.containsText("#div2", "some text")
.pause(5000);
}
}
,
Nightwatch.js에 익숙하지 않지만 셀렌 테스트 케이스의 로그인/로그 아웃 세션 문제에 익숙합니다. [nightwatch 테스트 태그] (http://nightwatchjs.org/guide#test-tags) 및/또는 [테스트 후크] (http://nightwatchjs.org/guide#setup-teardown)를 살펴 보시기 바랍니다.) 아래에있는 문서를 참조하십시오. –