httprunner 2.x学习5-测试用例集(testsuite)

前言

httprunner 分层主要是分三层:api、testcase、testsuites
前面讲分层的时候讲到api单独封装每个接口,testcase可以有多个测试步骤,调用api层的接口是写测试用例,用例的步骤是有序的。
testsuites 这一层是测试用例的集合,把测试用例放到一个测试套件去执行,用例执行应该是无序的,有依赖的场景在testcase这一层测试用例里面就已经按步骤写好了。

测试用例集(testsuite)

测试用例集是测试用例(testcase)的无需集合,可以把一个接口的多个用例,放到一个testsuite.
也可以把一个功能的流程,多组用例(输入不同的参数)放到testsuite管理。

测试用例集需注意:

  • 每个测试用例(testcase)都是独立的,不存在先后依赖关系
  • 如果有依赖关系,依赖关系在测试用例(testcase)中解决
  • 每个测试用例(testcase)可以重复运行

测试用例集有2个关键字 config 和 testcases

  • config: 测试用例集的总体配置参数
  • testcases: 多个测试步骤

在 httprunner2.x 版本 testsuites 这一层必须是引用 testcase ,不能直接引用 api

非参数化场景

api 层两个接口api/login.yml

# api/login.yml
# 上海-悠悠,httprunner QQ交流群:717225969
name: login first
base_url: http://127.0.0.1:8000
variables:
    user: test
    password: 123456
request:
        url: /api/v1/login/
        method: POST
        headers:
            Content-Type: application/json
            User-Agent: python-requests/2.18.4
        json:
            username: $user
            password: $password
validate:
    - eq: [status_code, 200]
    - eq: [headers.Content-Type, application/json]
    - eq: [content.msg, login success!]
    - eq: [content.code, 0]

api/get_userinfo.yml 内容

# api/get_userinfo.yml
# 上海-悠悠,httprunner QQ交流群:717225969

name: get user info case1
base_url: http://127.0.0.1:8000
variables:
    token: 1c5ef1856edec117ac989eb8def4abbaae28673e
request:
    url: /api/v1/userinfo/
    method: GET
    headers:
        Content-Type: application/json
        User-Agent: python-requests/2.18.4
        Authorization: Token $token          # 引用token

case用例层,写一个登录用例

# case/test_login.yml
# 上海-悠悠,httprunner QQ交流群:717225969
- config:
    name: "test userinfo"

- test:
    name: login-setup
    api: api/login.yml
    extract:
        - get_token: content.token
    validate:
        - eq: ["status_code", 200]
        - len_eq: ["content.token", 40]

testsuites 层可以把测试用例放一起执行

config:
    name: 创建测试计划
    base_url: http://127.0.0.1:8000

testcases:
    用户test1登陆:
        testcase: case/test_login.yml
        variables:
            user: test1
            password: 123456

    用户test2登陆:
        testcase: case/test_login.yml
        variables:
            user: test2
            password: 123456

注意 testsuites 这一层必须是引用 testcase ,不能直接引用 api


httprunner 2.x实战教程点我 ->立即报名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值