在写自动化测试的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