一、安装
前提:
电脑必须安装python,可以使用python -V查看当前电脑是否已安装python
显示 对应版本号即说明已安装python
安装:
pip install httprunner==2.5.7
使用hrun -V查看httprunner的版本号
?
?
二、创建新项目
创建
?hrun --startproject HttpRunnerStudy(项目名称)
出现以下信息说明创建成功?
目录结构
api--存放测试用例,保存一个接口的最小执行单元
testcases--前后置测试用例,用于存放测试用例的前后置操作用例
testsuites--测试套件,存放数据驱动的测试用例或者想要多个用例同时执行,测试用例存放在此文件夹下
reports--测试报告
.env--自动生成的用于存放环境变量的文件,往往用于存放用户的账号等敏感信息
三、实战演练
更改api下用例的yml文件
HttpRunner用例执行方法:
- hrun 【用例路径】
--log-level debug 打印debug信息
request常用方法:?
method:
- 指定请求方法
- GET,OPTIONS,HEAD,POST,PATCH,DELETE
url:
headers:
params:
json:
data:
file:
环境变量
在.env下定义一个环境变量,可以在用例yml中调用
?调用方法:${ENV(变量名称)}
全局变量
- 当某个变量只想在当前用例中使用,可以定义全局变量而不是环境变量
- 更改variables中变量名称和值即可。
- 使用$变量名来调用全局变量?
debugtalk.py
- ?${get_user_agent()}? ?如果函数需要传参则直接在()中传入,如果函数不需要传参则直接调用即可
base_url
- 测试用例运行时发现url不是以http开头会自动查找yml文件中base_url,并和url进行拼接访问
- 如果多个文件下都有base_url采取的是就近覆盖的原则
?断言validate:
- 实际值=期望值即断言成功
- ?断言类型
1、eq:equals 2、lt:less_than 3、le:less_than_or_equals 4、gt:greater_than 5、ge:greater_than_or_equals 6、ne:not_equals 7、str_eq:string_equals 8、len_eq:length_equals 9、len_gt:length_greeter_than 10、len_ge:length_greater_than_or_equals 11、len_lt:length_less_than 12、len_le:length_less_than_or_equals - 断言的两种调用格式
testcases:
- 该目录下存放的是无法独立进行测试,需要有其他接口依赖的测试用例
参数化/数据驱动:
- 在testsuite下进行参数化
- 方法:
1、直接在当前文件下添加用例信息
2、读取文件 文件内容如下:
3、在debugtalk.py文件中创建函数,自动创建测试用例
?
?运行方式
- 命令行运行:
hrun D:\code\HttpRunnerStudy\testsuites\demo_testsuite.yml --log-level debug hrun+要运行文件的相对或绝对路径? --log-level debug是指定日志的等级 - py文件运行
可以使用 print(httprun._summary)
查看运行结果
与平台集成步骤
1、可以通过前端输入一些数据,自动生成testcases中的yml文件 2、调用run.py运行 3、运行结束后使用平台展示对应报告
?
?
?
?
|