一、httprunner常规的关键字详解
httprunner测试用例的结构
config:配置
name:名称
variables:全局变量
verify:https协议
base_url:环境变量
teststeps:步骤
name:步骤名称
request:请求
headers:请求头
method:请求方式
params:参数
url:请求路径
cookie:cookie信息
json:用于发送http请求正文
data:用于发送http请求正文
extract:提取(通过content或body提取,json提取器。支持正则表达式提取。)
validate:断言
eq:相等
equals:相等
str_eq:(str(a)=str(b))
lt:小于
le:小于或等于
gt:大于
ge:大于或等于
contains:包含
简化:
name:接口名称
request:请求
headers:请求头
method:请求方式
data:参数
url:请求路径
cookie:cookie信息
extract:提取(通过content或body提取,json提取器。支持正则表达式提取。)
validate:断言
equals:相等
str_eq:(str(a)=str(b))
contains:包含
二、httpruner接口自动化项目架构
先要切换到项目的根目录,使用:httprunner startproject 项目名(没有虚拟环境)
har:存放har文件
reports:存在报告
testcases:存放测试用例
api:存放yml文件,接口定义。
data:数据驱动
testsuites:测试套件
.env:存放环境变量
.gitignore:当你的项目使用git做版本控制的时候,添加在此文件中的文件不会被git管理。
debugtalk.py:实现热加载。
分层架构:三层
1.接口定义层(api):为了更好的管理接口描述,每个一个接口定义都应该尽量的能够单独运行。
2.测试用例层(testcases)
3.测试套件层(testsuites)
关系:
testcases调用api层(使用api关键字),testsuites调用testcases层。(使用testcase关键字)
三、环境变量
环境变量可以写入.env文件。
然后在api接口定义层里面使用:${ENV(变量名)}获取环境变量。
httprunner实际的工作应用其他不多,只有一小部分的公司用它做接口自动化,主要目的:思想。
每个项目的接口不一样。
每个公司的框架都是不一样的。
自动化:
1.自动化脚本编写者。15上下。(误会,简易的框架)
2.自动化框架封装者。20以上。(我讲的是一种场景(接口返回json的场景), 那么你除了写出来之外,还需要稍微的有一定的扩展能力。)
框架封装好了,不要写代码。
涨薪5-10左右。
如何解析思想。
要求:会接口自动化和web自动化。