e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (五) 如何让窗体记录登录状态Session

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

上一篇:Qt中绘图坐标QPainter,Viewport与Window的关系


下一篇:论C#逼格手册