前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >httprunner-处理参数关联的接口

httprunner-处理参数关联的接口

作者头像
wencheng
发布2020-12-29 09:58:30
7793
发布2020-12-29 09:58:30
举报

前言

在实际工作中,我们经常遇到前一个接口返回的值当做下一个接口的参数进行请求。例如token,用过jmeter和postman的同学应该知道设置一个中间变量来接收token,在下个接口调用就可以了。下面给大家介绍下如何用httprunner中extrac赋值。

测试案例

登录接口获取token

  • 访问地址:http://127.0.0.1:8000/users/login
  • 请求类型:post
  • 请求头部:application/json
  • 请求参数:{“username”: “wencheng”,“password”: “123456”}

查询项目详情

  • 访问地址:http://127.0.0.1:8000/projects/viewsets
  • 请求类型:get
  • 请求头部:application/json
  • 请求头部token:Authorization:Bearer xxxxxxxxxxxxx
参数extract

在httprunner中我们使用extract来提取token,使用方法如下

代码语言:javascript
复制
  extract:
        - token: content.ck_token
上代码
api/login.yaml的脚本
代码语言:javascript
复制
"""
 * Create by dell on 2020/12/12
 * Author :wencheng
 * 微信公众 :自动化测试 To share
"""
name: "登录接口"
base_url: "http://127.0.0.1:8000"

variables:
    username: wencheng
    password: 123456
request:
    url: /users/login
    method: POST
    headers:
        Content-Type: "application/json"
        User-Aent: "Mozilla/5.0 test1"
    json:
        username: $username
        password: $password
validate:
    - eq: ["status_code", 200]
api/details.yaml的脚本
代码语言:javascript
复制
"""
 * Create by dell on 2020/12/12
 * Author :wencheng
 * 微信公众 :自动化测试 To share
"""
name: 查询项目详情
base_url: http://127.0.0.1:8000
variables:
    title: "详情"
request:
    url: /projects/viewsets
    method: GET
    headers:
        Content-Type: "application/json"
        User-Aent: "Mozilla/5.0 test1"
        Authorization: Bearer $token
validate:
    - eq: ["status_code", 200]
执行run_testcase的脚本
代码语言:javascript
复制
"""
 * Create by dell on 2020/12/12
 * Author :wencheng
 * 微信公众 :自动化测试 To share
"""
name: "查询项目详情"
variables:
   title: "详情"
   status_code: 200
base_url: "http://127.0.0.1:8000"

teststeps:
-
    name: 正常登录
    api: api/login.yml
    extract:
        - token: content.ck_token
    validate:
        - {check: "content",comparator: "contains",expect: "ck_token" }
-
    name: $title
    api: api/details.yml
    variables:
         - eq: ["status_code", 200]
生成报告
获取的token

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试 To share 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 测试案例
      • 参数extract
        • 上代码
          • 生成报告
            • 获取的token
              • 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档