上一篇写了移动端的基于testng+cucumber的自动化重跑,这一篇来记录一下web端的UI自动化重跑。由于web端用的是UIRecorder进行UI自动化的,比较方便,只需要录制回放即可,所以web端采用了它,用的工具不一样,重跑的方式就要重新配置。
重跑仍分为两部分内容:失败用例重跑、报告去重和更新。具体如下:
1、获取失败的场景列表
uirecorder执行完毕后,会生成一个report文件夹,里面存放报告的内容,如index.html和index.json。其中,index.json中存放所有用例步骤的执行情况,所有执行通过的用例、所有执行失败的用例和所有跳过的用例,数据十分详尽。index.json文件中数据结构如下:
其中allPasses、allFailures、allPending中分别存放所有通过、失败和跳过的用例。如,allFailures中内容大体如下:
由于UI自动化运行时需要有上下文,所以不能单独只跑失败的那几步,需要将存在失败或者跳过的用例对应的场景均重跑一遍。
通过获取allFailures和allPending中的fullTitle来获取需要重跑的场景列表。由于同一个场景中可能有多步失败,所以统计时需要进行去重。
代码如下: