昨天是简单执行用例,给自己增强信心。今天了解一下整个架构。
httprunner分层
下图的测试步骤teststep相当于上图的api,主要用于储存最基础的单个接口test。测试用例testcase用来储存接口组合事件。测试用例集testsuite用来运行testcase具体事件。
测试用例结构
下图是自己写的API文件夹中一个test的yaml格式内容。可以选择自己写yaml格式的接口,fiddler接口保存后转码成yaml格式一般还需要修改内容。
login.yml
下面是示范代码,可以单独作为一个testcase来运行。
- config:
name: testcase description
variables: {}
- test:
name: /api/get-token
request:
headers:
Content-Type: application/json
User-Agent: python-requests/2.18.4
app_version: 2.8.6
device_sn: FwgRiO7CNA50DSU
os_platform: ios
json:
sign: 9c0c7e51c91ae963c833a4ccbab8d683c4a90c98
method: POST
url: http://127.0.0.1:5000/api/get-token
validate:
- eq: [status_code, 200]
- eq: [headers.Content-Type, application/json]
- eq: [content.success, true]
- eq: [content.token, baNLX1zhFYP11Seb]
- test:
name: /api/users/1000
request:
headers:
Content-Type: application/json
User-Agent: python-requests/2.18.4
device_sn: FwgRiO7CNA50DSU
token: baNLX1zhFYP11Seb
json:
name: user1
password: '123456'
method: POST
url: http://127.0.0.1:5000/api/users/1000
validate:
- eq: [status_code, 201]
- eq: [headers.Content-Type, application/json]
- eq: [content.success, true]
- eq: [content.msg, user created successfully.]
现在我们只需要知道如下几点:
- 每个 YAML/JSON 文件对应一个测试用例(testcase)
- 每个测试用例为一个list of dict结构,其中可能包含全局配置项(config)和若干个测试步骤(test)
- config 为全局配置项,作用域为整个测试用例
- test 对应单个测试步骤,作用域仅限于本身
如上便是 HttpRunner 测试用例的基本结构。
各个关键字的解释可以直接去官网看httprunner关键字释义
网友评论