美文网首页
Webdirver打开已存在的session(上次运行的driv

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

作者: Rollan | 来源:发表于2019-07-29 10:44 被阅读0次

    背景:工作项目的业务流程很长,往往需要做很多的前期数据准备,页面加载有时也挺慢。如果脚本中某个测试步骤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继续调试自动化脚本了!!

    相关文章

      网友评论

          本文标题:Webdirver打开已存在的session(上次运行的driv

          本文链接:https://www.haomeiwen.com/subject/ncydrctx.html