在寫自動化測試的Node.js腳本時, 時常需要測試所寫的case, 可能都需要去重新登錄一遍,這將相當的耗時, 好在Selenium都借了Session的機制, 如果在最初的瀏覽器沒有關閉的情況下,會給窗體創建一個唯一Session ID號,也是webdriverIo, client.init()這個執行的時候。所以我的思路是, 在init()的時候,將這個session ID保存在一個文本文件中, 再運行測試case的時候,不需要執行 如下:
var browser = webdriverjs.remote({ desiredCapabilities: { browserName: 'chrome', IsJavaScriptEnabled: true } });
browser.init(done);
而是執行?
var browser =?webdriverjs.remote("sessionId");
?
那關于如果保存這個Session ID呢, 如下:
var?client = webdriverjs.remote({ desiredCapabilities: { browserName: config.BrowserName(), IsJavaScriptEnabled: true } });
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);
? ? });
})
;
可以看到init提供了一個回調方法,得到sessionId。然后使用fs,去寫文件就行。 如果去讀文件得到sessionId,我想就不用解釋了。
?
e2e 自動化集成測試 架構 實例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (五) 如何讓窗體記錄登錄狀態Session
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
