Webdirver打开已存在的session(上次运行的driv

2019-07-29  本文已影响0人  Rollan

背景:工作项目的业务流程很长,往往需要做很多的前期数据准备,页面加载有时也挺慢。如果脚本中某个测试步骤failed了,调试之后就得从头开始跑脚本,如果一个脚本中有多个测试步骤failed的话,那就得重跑多次,非常浪费时间。

期望:脚本失败之后能够将页面停留在失败处,脚本修改过后(例如:页面元素定位改变,添加等待时间等),能够接着上次失败的地方继续往下跑,看看脚本中是否还存在别的错误,一次性fix,而不是每次从头开始跑,一次只能发现一个问题。

实现(本方法适用于webdriver.io + chrome):

  1. 在脚本开始调试之前,添加 driver session id 的获取code ,并在log中打印出来:
console.log("chrome sessionID:", await this.browser.requestHandler.sessionID);

2.注释掉跑完case就关闭浏览器的操作(例如:this.browser.end()), 因为一旦quit或者end ,这个session就会被关闭,删除,没办法接着操作。


image.png

3.Run 你要调试的脚本,在log中获取到session id。注意不要关闭浏览器。

4.将获取到的session ID 赋值给driver:

this.browser.requestHandler.sessionID = '74776b5d3d092de4942475c3bc005184';

5.注释掉之前启动driver时调用的”this.browser.init()“,接着,注释掉之前跑过了的测试步骤

现在你可以接着上个session继续调试自动化脚本了!!

上一篇下一篇

猜你喜欢

热点阅读