天天看点

httprunner 3.x 入门 -1

1、必须知道的5个httprunner命令

httprunner 主命令,用于所有功能;
hrun 用于运行yaml/json/pytest测试用例;
hmake 用于将yaml/json测试用例转化成pytest文件;
har2case 用于将har文件转化成yaml/json/pytest测试用例;
locusts 用于性能测试;           

复制

2、命令详解

har2case 文件名.har --将har文件转化成pytest用例;
har2case 文件名.har -2y --将har文件转化成yaml格式用例;
har2case 文件名.har -2j --将har文件转化成json格式的测试用例;           

复制

3、执行

hrun 文件名.后缀           

复制

运行执行命令后都会重新生成一个.py文件

4、YAML测试用例结构分析

每个用例都是一个字典列表(list of dict:[{}, {}, {}]),包括config【配置】、teststeps【步骤】

config: # 配置
   name 用例名称
   variables 全局变量
   verify 是否开启https验证
teststeps:# 步骤
   name 步骤名称
   request 请求
     headers 请求头
     method 请求方式
     params 请求参数
     url 请求路径
validate: 断言           

复制

5、接口关联

在request标签下添加extract标签提取返回值
通过content.key或者body.key提取
例:
   access_token: content.access_token
注意:key值access_token可以随意命名,content为必须这样写,
.access_token为接口返回的一个key

通过 $变量名 进行调用,例如调用上面access_token就在params的
引用处引用:$access_token           

复制

6、debugtalk热加载

把方法写在debugtalk.py中
在yaml文件调用时用 ${方法名(参数1, 参数2)} 即可           

复制

7、环境变量

如果一个yaml文件中访问的地址都一样,那么可以在config下加上base_url,然后下面用例url只需要写路径即可,不需要写地址

base_url: "https://apis.weixin.qq.com"           

复制

8、validate断言

eq 相等;
equals 相等;
str_eq 强转成字符串然后判断相等;
lt 小于;
le 小于等于;
gt 大于;
ge 大于等于;
contains 包含;           

复制

当使用

httprunner startproject 项目名

搭建框架的时候

har 存放har文件;
reports 存放报告;
testcases 存放测试用例;
env 存放环境变量;
gitignore 当项目使用Git做版本控制的时候
    添加在此文件中的文件不会被git管理;
debugtalk.py 实现热加载;           

复制