Hybrid Robot
基于 RobotFramework 的二次封装
注意
该方案是对 RobotFramework 的二次封装,以减轻中国用户使用符合欧美用户习惯的原生 RobotFramework 时的不适,因此,该方案并不适合所有场景。针对技术能力暂时薄弱、英文能力差的中小团队,可能具有一定的疗效。
重点改造描述
- 用 Excel 取代 .robot 文件进行测试用例的编写
- 增加命令行脚手架工具,一键初始化测试项目,不需要额外学习如何自己搭建目录结构
- 精简固化用法,高级用法被封装隐藏
- 集成 Allure 测试报告框架
- 检测到系统为非 Windows/Mac 系统时,将增加环境变量
HROBOT_BROWSER_MODE=headless,Chrome 将不启动图形界面 - 安装时会集成常用于测试场景的 Python 库,如: requests, selenium, paramiko
快速开始
安装
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 中定义,该处定义的全局变量会在报告的环境信息段落中展现。
自定义关键字
- 待设计
Metadata
Release files for hrobot 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hrobot-0.7.0.tar.gz | 24.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hrobot-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.8 kB
Release files / hrobot-0.7.0.tar.gz
| Download URL | hrobot-0.7.0.tar.gz |
|---|---|
| Size | 24.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
837c34689c26c0db53f6a3f84d2a59b7437fbbf1a1e5842fcd7350e70d834440
|
|
BLAKE2b-256 checksum How to use checksums |
8a2c3a1877769eca96d2fe50c7b9828510335dfa82b0326bf90a5ba6a0cf1939
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
|
Release files / hrobot-0.7.0-py3-none-any.whl
| Download URL | hrobot-0.7.0-py3-none-any.whl |
|---|---|
| Size | 23.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe4039bd7c38db6332995ce32cd5be8e0b88d16779d78320b0855d0d53ecefe3
|
|
BLAKE2b-256 checksum How to use checksums |
9b8ecd758b174888e15caf49338714c2d900eb11c04ab2f61060eb61597fd142
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
|