在寫自動化測試的Node.js腳本時, 時常須要測試所寫的case, 可能都須要去從新登陸一遍,這將至關的耗時, 好在Selenium都借了Session的機制, 若是在最初的瀏覽器沒有關閉的狀況下,會給窗體建立一個惟一Session ID號,也是webdriverIo, client.init()這個執行的時候。因此個人思路是, 在init()的時候,將這個session ID保存在一個文本文件中, 再運行測試case的時候,不須要執行 以下:web
var browser = webdriverjs.remote({ desiredCapabilities: { browserName: 'chrome', IsJavaScriptEnabled: true } });
browser.init(done);chrome
而是執行 瀏覽器
var browser = webdriverjs.remote("sessionId");session
那關於若是保存這個Session ID呢, 以下:測試
var client = webdriverjs.remote({ desiredCapabilities: { browserName: config.BrowserName(), IsJavaScriptEnabled: true } });ip
client
.init(function (err, res) {
console.log('配件商城 後臺 Session Id:' + res.sessionId);
sessionId = res.sessionId;
fs.writeFile(path.resolve('.') + '/sessione.txt', res.sessionId).then(function(res){
deferrad.resolve(client);
});
})
;rem
能夠看到init提供了一個回調方法,獲得sessionId。而後使用fs,去寫文件就行。 若是去讀文件獲得sessionId,我想就不用解釋了。it