更多发现

Hybrid Robot

基于 RobotFramework 的二次封装

注意

该方案是对 RobotFramework 的二次封装,以减轻中国用户使用符合欧美用户习惯的原生 RobotFramework 时的不适,因此,该方案并不适合所有场景。针对技术能力暂时薄弱、英文能力差的中小团队,可能具有一定的疗效。

org author author

License

Python PyPI

重点改造描述

快速开始

安装

pip install hrobot

执行 hrobot 检查

hrobot
  init     初始化项目目录
  run      执行测试用例
  debug    调试测试用例,支持选择用例集、测试用例、标签
  report   生成并展示测试报告
  version  显示版本信息

初始化测试用例项目

使用 hrobot init 初始化项目目录

hrobot init 
  -p    project  定义一个测试项目目录的名称

进入到项目目录中后,文件树接口如下:

<projectName>
├── testcases
│   └── suites.xlsx
├── keywords
│   └── keywords.xlsx
└── variables
    └── variables.xlsx

PS: keywords 暂无实际作用

编写测试用例

通过 Excel 打开 testcases 目录中的 suite.xlsx 文件,有 5 个 Sheet,每个 Sheet 有自己的表头:

例子:


A B C D E F G H
1 用例标题 标签 用例描述 关键字库 关键字 参数    
2 SSH远程后再调用 HTTP 接口

远程 执行 root password whoami
3


接口 GET https://xxx/api/info {"Content-Type":"application/json"}  
4 HTTP 接口请求后断言

接口 POST https://xxx/api/products {"Content-Type":"application/json"} {"project_owner":"jing"}
5


接口 响应.断言 status_code 等于 200
6


接口 响应.断言 body.data.0.name 等于 hrobot
7 HTTP 返回值获取

接口 POST https://xxx/api/login {“Content-Type”:”application/json”} {“username”:”jing”}
8


接口 响应.取值 body.token AUTH  
9


接口 GET https://xxx/api/info {“Content-Type”:”application/json”,”Authorization”:”${AUTH}”}  
10


接口 响应.断言 status_code 等于 200
11


接口 响应.断言 body.username 等于 jing

执行用例

cd <projectName>
hrobot run

生成报告

hrobot report

定义变量

变量有三个级别:用例、用例集、全局,均可以在测试用例的 Excel 编写中通过关键字定义。

除此之外,也可以在用例集的 Excel 的 “变量” Sheet 中提前定义好用例集级别的变量。

全局变量还可以在 variables 目录下的 Excel 中定义,该处定义的全局变量会在报告的环境信息段落中展现。

自定义关键字