RobotFremework自动化的沉积越来越大,用例越来越多,单一台机器运行,时间非常久;当然使用多台机器分开运行也是可以的,但重点是多台运行就会出现多个报告,于是乎查了很多资料,终于找到了合并output.xml的方法;当然顺带的就把持续集成并行执行的思路也说一下。
1.合并output.xml的方法
使用rebot命令,可以通过rebot --help来查看命令
(1)rebot -R 第一个output.xml文件路径 第二个output.xml文件路径
(2)rebot -N 报告名 第一个output.xml文件路径 第二个output.xml文件路径
以上两个命令个人推荐用第二个,因为第一个会因为存在不同suite而报错。
(3)当然还需要结合rebot的其他参数一起使用才可以
rebot -N 【报告名】 -d 【合并报告的输出路径】-o 【合并的output.xml输出路径】 【第一个output.xml文件路径】 【第二个output.xml文件路径】
-d:输出合并后报告的路径,但是只有log、report
-o:所以还要一个-o,把合并后的output.xml也输出,这个output.xml需要用在jenkins中
2.说一下思路,使用RobotFremework也是多个测试开发,包括接口、功能自动化,所以持续集成选择用jenkins来构建并执行。本身RobotFremework在jenkins也有支持的插件,其实无非就是用output.xml这个文件统计得到一些用例执行的数据。
(1)第一思路就是把RobotFremework分开两部分用例用两个job来构建,当然以后用例多了还可能分更多的job。创建了RFS_B,RFS_C两个job。
(2)分成两个job了,要并行的执行,如果是串行就没意义啦,通过jenkins创建一个job为RFS_A,然后设置下游job为RFS_B,RFS_C,这样就可以达到运行完RFS_A后,并行启动RFS_B,RFS_C,当然RFS_B,RFS_C必须保证有运行条件。最好是不同节点机器运行,因为自动化没有关闭webdriver.exe可能会受到影响。
(3)合并报告则需要等RFS_B,RFS_C两个都运行完成再执行合并操作,所以涉及到jenkins的一个join plugins插件。