学习总结,有错误欢迎指出。
总结:robotframework项目执行脚本编写,主要依赖命令行工具robot和rebot。
1. 依赖工具
- argparse - python3内置模块,无需安装。用于编写命令行工具。
- robot - 命令行工具。安装robotframework库时,已自动安装,无需额外安装。用于执行robotframework。
- rebot - 命令行工具。安装robotframework库时,已自动安装,无需额外安装。用于处理robotframework报告。
2. 脚本编写
import argparse
from robot import run_cli
from robot import rebot_cli
parser = argparse.ArgumentParser(description='run robotframework')
parser.add_argument('filename',nargs='+',help='测试套件或者目录')
parser.add_argument('-t', '--runTest',action='store_true',help='是否执行用例')
parser.add_argument('-r', '--rerun',type=int,help='执行失败的用例,参数是重试的次数')
args = parser.parse_args()
args_dest = args.filename #获取待执行的robot文件或者目录
if args.runTest: #是否执行测试用例
args_dest = ["--outputdir","report"] + args_dest
run_cli(args_dest,exit=False)
if args.rerun >= 1: #失败用例重新执行,rerun是重试的最大次数
args_dest = ["--outputdir","report","--rerunfailed","report/output.xml","--output","output_rerun.xml"] + args_dest
for i in range(args.rerun):
run_cli(args_dest,exit=False)
#将重新执行的新报告合并到首次执行的旧报告中
rebot_cli(["--outputdir","report","--output","output.xml","--report","report.html","--log","log.html","--merge","report/output.xml","report/output_rerun.xml"])
说明:
run_cli : 支持的参数选项,可通过 robot --help查看。
rebot_cli : 支持的参数选项,可通过 rebot --help查看。