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

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