3.3后处理输出
在测试执行期间生成的XML输出文件可以在之后由rebot工具进行后处理,该工具是Robot Framework的组成部分。在测试执行期间生成测试报告和日志时会自动使用它,但在执行后也可以单独使用它。
3.3.1使用rebot工具
概要
rebot|jyrebot|ipyrebot [options] robot_outputs python|jython|ipy -m robot.rebot [options] robot_outputs python|jython|ipy path/to/robot/rebot.py [options] robot_outputs java -jar robotframework.jar rebot [options] robot_outputs
rebot runner脚本在Python上运行,但也有分别在Jython和IronPython上运行的jyrebot 和ipyrebot runner脚本。建议使用rebot,因为它比替代品快得多。除了使用这些脚本之外,还可以使用 robot.rebot 入口点作为模块或使用任何解释器的脚本,或使用独立的JAR分发。
指定选项和参数
使用rebot的基本语法与开始测试执行时的基本语法完全相同, 并且大多数命令行选项都相同。主要区别在于rebot的参数是 XML输出文件而不是测试数据文件或目录。
返回带有rebot的代码
来自rebot的返回代码与运行测试时的返回代码完全相同。
3.3.2创建不同的报告和日志
您可以使用rebot创建在测试执行期间自动创建的相同报告和日志。当然,创建完全相同的文件是不明智的,但是,例如,一个报告包含所有测试用例而另一个报告只有一些测试用例可能很有用:
rebot output.xml rebot path/to/output_file.xml rebot --include smoke --name Smoke_Tests c: esultsoutput.xml
另一个常见用法是在运行测试时仅创建输出文件(可以使用选项--log NONE 和--report NONE禁用日志和报告生成)并在以后生成日志和报告。例如,测试可以在不同的环境中执行,输出收集到中心位置的文件,以及在那里创建的报告和日志。如果在Jython上运行测试时生成报告和日志会花费大量时间,那么这种方法也可以很好地工作。禁用日志和报告生成并在以后使用rebot生成它们可以节省大量时间并使用更少的内存。
3.3.3组合输出
rebot最重要的特征是它能够组合来自不同测试执行轮次的输出。例如,此功能允许在不同环境中运行相同的测试用例,并从所有输出生成总体报告。组合输出非常简单,所有需要做的就是提供几个输出文件作为参数:
rebot output1.xml output2.xml rebot outputs/*.xml
组合输出时,会创建一个新的顶级测试套件,以便给定输出文件中的测试套件是其子套件。这在执行多个测试数据文件或目录时的工作方式相同,在这种情况下,顶级测试套件的名称是通过将子套件名称与&符号和空格连接而创建的。这些自动生成的名称不是那么好,使用--name来提供更有意义的名称通常是个好主意:
rebot --name Browser_Compatibility firefox.xml opera.xml safari.xml ie.xml rebot --include smoke --name Smoke_Tests c: esults*.xml