Hybrid Robot
Project description
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 中定义,该处定义的全局变量会在报告的环境信息段落中展现。
自定义关键字
- 待设计
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hrobot-0.7.0.tar.gz.
File metadata
- Download URL: hrobot-0.7.0.tar.gz
- Upload date:
- Size: 24.2 kB
- Tags: Source
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
837c34689c26c0db53f6a3f84d2a59b7437fbbf1a1e5842fcd7350e70d834440
|
|
| MD5 |
852a6d15aac92b439493e730068bc98d
|
|
| BLAKE2b-256 |
8a2c3a1877769eca96d2fe50c7b9828510335dfa82b0326bf90a5ba6a0cf1939
|
File details
Details for the file hrobot-0.7.0-py3-none-any.whl.
File metadata
- Download URL: hrobot-0.7.0-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe4039bd7c38db6332995ce32cd5be8e0b88d16779d78320b0855d0d53ecefe3
|
|
| MD5 |
c0c56458d9efa30c694f3ad7d086f319
|
|
| BLAKE2b-256 |
9b8ecd758b174888e15caf49338714c2d900eb11c04ab2f61060eb61597fd142
|