-
一.入门
-
- pip安装
- 直接安装
pip install httprunner - gitbub仓库安装
pip install git+https://github.com/HttpRunner/HttpRunner.git@master
- 直接安装
- 版本升级
- -U参数
$ pip install -U HttpRunner$ pip install -U git+https://github.com/HttpRunner/HttpRunner.git@master
- -U参数
- 安装校验 hrun
- hrun -V
- 参数指令
- hrun -h
- hrun --startproject tests_cgala
- hrun ./api/user_login.yml --log-level debug
- hrun xxx.yml
- pip安装
-
二.编写测试用例
-
结构
- 层层嵌套
testsuites套 testcases套 api - api
- 写接口(请求链接 请求方式 请求参数 等)
- 如果接口变更,这种结构会更方便维护更新用例
- testcases
- 测试用例(多个步骤)
- testsuits
- 层层嵌套
-
字段
-
变量
- 局部变量
- teststep下的variable
- api下的variable
- 全局变量(文件)
- testcases中的config下的variable,在整个.yml文件生效
- 环境变量
- ${ENV(keyname)
- 局部变量
-
extract
- 例如:content.data.list.0.subAccountUuid
- 也可以使用正则表达式
-
validate断言
- 可以使用正则表达式
- 断言里面不可以使用函数,但是可以在变量里面使用函数再在断言里面引用这个变量
- 比较方法
- eq
例如:validate:- eq: [status_code,200]- eq: [content.message,SUCCESS]- eq: [content.data.total,0] - contains
- 等等
- eq
-
hooks前置/后置执行方法
- setup_hook
- $request(request中有header也有json)
- $request(request中有header也有json)
- teardown_hooks
- $response
- 测试用例层面执行(testcase)
- 测试步骤层面执行(teststep)
- setup_hook
-
补充
- times
- 在 test 下加个 times 参数即可实现该teststep的重复运行
- output
- report没看到,可以用来调试
- 例如:output: - id_0
- times
-
-
其他
- 参数化与数据驱动
- parameter
- csv
- 条件执行测试用例
- skip
- skipIf 条件值为true,则跳过测试用例
- skipUnless
- 参数化与数据驱动
-
-
-
三.执行与调试
-
- 测试执行
- cli.main()
- runner = HttpRunner() runner.run('./api/user_login.yml')
- 执行
- hrun filepath/testcase.yml
- hrun filepath
- hrun testcase --failfast
- hrun ./api/user_login.yml --log-level debug
- 保存为bat或sh执行
- 调试
- 需要了解分析下源码
- 做合适的断点
- 测试执行
-