1.快速创建项目
这里类似django里面可以快速创建一个项目目录
可以通过命令:
hrun --startproject [项目名称]
2.项目组织
快速创建的项目目录如上图所示:
yml/json文件:测试用例文件
debugtalk.py:存储项目中逻辑运算辅助函数
.env:存储项目环境变量,通常用于存储项目敏感信息
.csv:项目数据文件,用于进行数据驱动
reports:默认生成测试报告的存储文件夹
3.用例组织
测试用例集(testsuite):对应一个文件夹,包含单个或者多个测试用例
测试用例(testcase):对应一个或者多个json\yml文件,包含一个或多个测试步骤
测试步骤(testsetp):对应一个json\yml文件的一个test,描述单次接口测试的全部内容,包括:
发起请求、解析响应结果、验证结果等
4.用例分层
1.接口定义及引用
为了更好的对接口描述进行管理,使用独立的文件对接口描述进行存储,即每个文件对应一个接口描述,
其中,定义描述的内容包括:name、variables、request、base_url、validate等。例如
name:测试用例的名称,在测试报告中作为标题
request:request的公共参数,作用域为整个用例,常用参数包含base_url、headers
json:post请求传参形式,如果为get请求则把json替换为 params
method:http请求方法
verify:忽略证书验证
validate:测试用例中定义的结果校验项,仅对当前用例做校验,更多涉及validate请点击validate校验详解
# api/Channel/taskList.yml接口定义文件base_url: ${ENV(HOME_BASE_URL)}name: taskListrequest:headers:x-rp-token: ${ENV(LOGIN_TOKEN)}json: $querymethod: POSTurl: /api/workbench/channel/task/taskListverify: falsevalidate:- eq:- status_code- 200- ne:- content.errormsg- 系统错误
2.测试用例
config:作为整个测试用例的全局配置项,作用域为整个测试用例
variables:定义的全局变量,作用域为整个用例
teststeps:测试步骤,引用了上文tasklist.yml 文件的接口定义
#taskList测试用例文件config:name: 获取任务列表variables:query:pageNo: 1pageSize: 10relRabbitUserIds: ENV{WORKWECHAT_USERID}teststeps:- api: api/Channel/taskList.ymlname: 获取任务列表
3.测试用例集
testcases:测试用例集,存放一个或多个测试用例
create user:测试用例集名称
testcase:测试用例
parameters:全局参数,用于实现数据化驱动,作用域为整个用例
# testsuites文件config:name: testcase descriptiontestcases:create user:testcase: demo-quickstart-0.ymlparameters:user_id: [1132,1131,1130]
