httprunner—项目组织&用例组织、分层

1.快速创建项目

这里类似django里面可以快速创建一个项目目录

可以通过命令:

hrun --startproject [项目名称]

 httprunner—项目组织&用例组织、分层_第1张图片

 

2.项目组织

 

快速创建的项目目录如上图所示:

yml/json文件:测试用例文件

debugtalk.py:存储项目中逻辑运算辅助函数

.env:存储项目环境变量,通常用于存储项目敏感信息

.csv:项目数据文件,用于进行数据驱动

reports:默认生成测试报告的存储文件夹

 

3.用例组织

 

测试用例集(testsuite):对应一个文件夹,包含单个或者多个测试用例

测试用例(testcase):对应一个或者多个json\yml文件,包含一个或多个测试步骤

测试步骤(testsetp):对应一个json\yml文件的一个test,描述单次接口测试的全部内容,包括:

发起请求、解析响应结果、验证结果等

httprunner—项目组织&用例组织、分层_第2张图片

4.用例分层

 

用例分层逻辑图:

httprunner—项目组织&用例组织、分层_第3张图片

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: taskList
request:
  headers:
    x-rp-token: ${ENV(LOGIN_TOKEN)}
  json: $query
  method: POST
  url: /api/workbench/channel/task/taskList
  verify: false
validate:
- eq:
  - status_code
  - 200
- ne:
  - content.errormsg
  - 系统错误

 

2.测试用例

 

config:作为整个测试用例的全局配置项,作用域为整个测试用例

variables:定义的全局变量,作用域为整个用例

teststeps:测试步骤,引用了上文tasklist.yml 文件的接口定义

#taskList测试用例文件

config:
  name: 获取任务列表
  variables:
    query:
      pageNo: 1
      pageSize: 10
      relRabbitUserIds: ENV{WORKWECHAT_USERID}
teststeps:
- api: api/Channel/taskList.yml
  name: 获取任务列表

 

3.测试用例集

 

testcases:测试用例集,存放一个或多个测试用例

create user:测试用例集名称

testcase:测试用例

parameters:全局参数,用于实现数据化驱动,作用域为整个用例

# testsuites文件

config:
    name: testcase description

testcases:
    create user:
        testcase: demo-quickstart-0.yml
        parameters:
            user_id: [1132,1131,1130]

HttpRunner,从零到熟练运用,个人实战总结请见:https://www.yuque.com/zaygee/httprunner

你可能感兴趣的:(HttpRunner)