本文记录关于自动化测试的基础学习内容
使用的语言:python
从这里开始介绍 HTTPrunner 这个框架
需要学习它的思想,为后续自己封装接口框架打基础
操作不需要完全会,后续会记录pytest框架的使用
一、HTTPrunner结构
config:
name:
variable:
verify:
base_url:
teststeps:
name:
request:
headers:
method:
params:
url:
cookie:
json:
data:
extract:
validate:
简化结构
name:
request:
headers:
method:
data:
url:
cookie:
extract:
validate:
二、HTTPrunner自动生成项目架构(终端执行)
1、回到根目录
2、创建项目架构
httprunner startproject 项目名
3、查看生成的项目结构
根目录
项目目录
har目录
reports目录
testcases目录
.env: 存放环境变量
.gitignore: 使用git进行版本控制时,添加在此文件的文件不会被管理
debugtalk.py: 用于实现热加载
需要自己写的文件:
api包目录:存放yaml文件,接口定义
data目录:数据驱动
testsuite包目录:测试套件
三、分层架构
testsuites调用testcases,testcases调用api
1、api(接口定义层):
用抓包工具抓包》》导出har文件》》转换为yml文件并进行修改
为了更好的管理接口描述,每一个接口定义都应该尽量能单独运行
2、testcases(测试用例层):
将api层的yml文件复制到testcases目录》》只保留name
结构:
config:
name:
teststeps:
name:接口1
api:接口定义的yml文件名
export:导出变量
name:接口2
api:接口定义的yml文件名
3、testsuites(测试套件层)
将testcases层的yml文件复制到testsuite目录》》只保留name
结构:
config:
name:
teststeps:
name:用例1
api:testcases的yml文件名
export:导出变量
name:用例2
api:testcases的yml文件名
四、环境变量
.env文件:存放环境变量(只存放固定值,业务数据不放在里面)
格式:
变量名1=变量值1
变量名2=变量值2
api层调用:
config:
变量: ${ENV(变量名)}