1、必须知道的5个httprunner命令
代码语言:javascript复制httprunner 主命令,用于所有功能;
hrun 用于运行yaml/json/pytest测试用例;
hmake 用于将yaml/json测试用例转化成pytest文件;
har2case 用于将har文件转化成yaml/json/pytest测试用例;
locusts 用于性能测试;
2、命令详解
代码语言:javascript复制har2case 文件名.har --将har文件转化成pytest用例;
har2case 文件名.har -2y --将har文件转化成yaml格式用例;
har2case 文件名.har -2j --将har文件转化成json格式的测试用例;
3、执行
代码语言:javascript复制hrun 文件名.后缀
运行执行命令后都会重新生成一个.py文件
4、YAML测试用例结构分析
每个用例都是一个字典列表(list of dict:[{}, {}, {}]),包括config【配置】、teststeps【步骤】
代码语言:javascript复制config: # 配置
name 用例名称
variables 全局变量
verify 是否开启https验证
teststeps:# 步骤
name 步骤名称
request 请求
headers 请求头
method 请求方式
params 请求参数
url 请求路径
validate: 断言
5、接口关联
代码语言:javascript复制在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热加载
代码语言:javascript复制把方法写在debugtalk.py中
在yaml文件调用时用 ${方法名(参数1, 参数2)} 即可
7、环境变量
如果一个yaml文件中访问的地址都一样,那么可以在config下加上base_url,然后下面用例url只需要写路径即可,不需要写地址
代码语言:javascript复制base_url: "https://apis.weixin.qq.com"
8、validate断言
代码语言:javascript复制eq 相等;
equals 相等;
str_eq 强转成字符串然后判断相等;
lt 小于;
le 小于等于;
gt 大于;
ge 大于等于;
contains 包含;
当使用httprunner startproject 项目名
搭建框架的时候
har 存放har文件;
reports 存放报告;
testcases 存放测试用例;
env 存放环境变量;
gitignore 当项目使用Git做版本控制的时候
添加在此文件中的文件不会被git管理;
debugtalk.py 实现热加载;