Robot Framework(十一) 执行测试用例——后处理输出
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:\results\output.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:\results\*.xml
最新文章
- NBearV3中文教程总目录
- jquery动态生成css样式表
- Xcode8中Swift3.0适配问题
- Windows操作系统常用快捷键
- mysql最大连接数问题
- Java学习笔记——设计模式之四.代理模式
- flask 上传头像
- console.log 简写
- [Swift]LeetCode697. 数组的度 | Degree of an Array
- mybatis从mapper接口跳转到相应的xml文件的eclipse插件
- IDEA常用快捷键总结
- Windows10 VS2017 C++信号处理
- C# 继承、虚方法、方法重载和多态
- d3.js在vue项目中的安装及案例
- git pull fails “unable to resolve reference” “unable to update local ref”
- 构建高性能J2EE应用的五种核心策略
- 提高eclipse使用效率(一)--使用快捷键
- flask源码解析之DispatcherMiddleware
- Reimplementing event handler
- Web安全学习笔记之Nmap扫描原理与用法
热门文章
- vc编程中出现 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include ";stdafx.h";”?
- windows7激活及office2013激活
- GPU渲染管线与shader
- jzoj5987. 【WC2019模拟2019.1.4】仙人掌毒题 (树链剖分+概率期望+容斥)
- webSocket的学习以及问题的解决
- endless(2018.10.25)
- python多线程的实现
- #13:人十我一Orz——6
- 如何在spring环境中做单元测试
- ECSHOP商品属性调用到任意页面方法