2019-10-23 httprunner学习笔记(2)

昨天是简单执行用例,给自己增强信心。今天了解一下整个架构。


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关键字释义

你可能感兴趣的:(2019-10-23 httprunner学习笔记(2))