• HttpRunner五:关联参数的应用,获取上一个接口的返回值,用于当前接口的请求值


    本实例中通过获取登录接口返回的token,将token值传到获取项目列表的请求头中,实现关联参数的应用:

    1、.env中定义BASE_URL、USERNAME、PASSWORD三个变量值:

    BASE_URL=http://127.0.0.1:8000
    USERNAME=benben
    PASSWORD=123456

    2、在api目录下新建login_api.yml文件,用于正常登录:

    name: 正常登录
    base_url: ${ENV(BASE_URL)}
    variables:
        username: ${ENV(USERNAME)}
        password: ${ENV(PASSWORD)}
        status: 200
    request:
        url: /user/login/
        method: POST
        headers:
            Content-Type: "application/json"
        json:
            username: $username
            password: $password
    validate:
        - eq: ["status_code", 200]

    3、在api目录下新建projects_list.yml文件,用于获取项目列表:

    name: 项目列表
    base_url: ${ENV(base_url)}
    variables:
        token: $token
        p: $p
        s: $s
        title: $title
        status: $status
    request:
        url: /projects/?p=$p&s=$s
        method: GET
        headers:
            Content-Type: "application/json"
            Authorization: JWT $token
    
    validate:
        - eq: ["status_code", $status]

    4、在testcases目录下新建projects_list_testcase.yml文件,用于获取登录接口的token:

    config:
        name: 项目列表
        variables:
            login_title: 登录
            title: $title
            status: $status
    
    teststeps:
    -
        name: $login_title
        api: api/login_api.yml
        extract:
            - token: content.token
        validate:
            - eq: ["status_code", $status]
    
    -
        name: $title
        api: api/projects_list.yml
        validate:
            - eq: ["status_code", 200]

    5、在testsuites目录下新建projects_list_suite.yml文件,用于实现参数化:

    config:
        name: 项目列表
    
    testcases:
    -
        name: $title
        testcase: testcases/projects_list_testcase.yml
        parameters:
            - title-p-s-status:
                  - ["获取第一页数据", 1, 1, 200]
                  - ["获取第二页数据", 2, 1, 200]

    6、运行:

    hrun testsuites/projects_list_testsuite.yml --report-template templates/ext_reports_template.html

    7、查看生成的测试报告:

  • 相关阅读:
    RTP时间戳
    FAT,FAT32,NTFS单目录文件数量限制
    SWT将系统图标保存为本地文件
    HttpClient+jsoup登录+解析 163邮箱
    RTP协议分析
    Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof)
    YUV转为RGB24及IplImage格式(I420和YV12)及Java版实现
    Using a long as ArrayList index in java
    详解 SWT 中的 Browser.setUrl(String url, String postData, String[] headers) 的用法
    swt生成、jar可执行包生成.exe可执行文件(giter)
  • 原文地址:https://www.cnblogs.com/benben-wu/p/12520801.html
Copyright © 2020-2023  润新知