首页 > 其他分享 >httprunner4.x学习6 - 两种方式处理接口关联

httprunner4.x学习6 - 两种方式处理接口关联

时间:2023-05-28 14:44:15浏览次数:38  
标签:name 接口 关联 用例 token httprunner4 login eq yml

第一种方式:使用export导出变量,变成全局变量

当登录用例写完后,后面想继续写其他用例,可以导入前面的login用例,当成下个用例的步骤使用
导入前一个用例之前,需先 export 导出变量,变成全局变量。

登陆用例:

创建文件夹login,在文件夹下分别创建两个文件login.yml 和 useinfo.yml

login.yml用于测试登陆接口, useinfo.yml用于测试获取用户信息

login.yml内容大概如下:

config:
  name: 测试登录后关联
  variables:
    username: test
    password: 123456
  export:
    - token

teststeps:
-
  name: 登录成功
  request:
      url: http://124.70.221.221:8201/api/v1/login
      method: POST
      json:
        username: ${username}
        password: ${password}
  extract:
      token: body.token
  validate:
      - eq: ["status_code", 200]
      - eq: [body.code, 0]

获取用户信息用例:

其他用例需用到登录的场景,可以使用testcase 关键字导入

config:
  name: 测试登录后关联

teststeps:
-
  name: 1.登录后-获取token
  testcase: login/login.yml

- name: 2.info
  request:
    method: GET
    headers:
      Authorization: Token ${token}
    url: http://124.70.221.221:8201/api/v1/userinfo
  validate:
    - eq: [body.code, 0]

  使用testcase 导入前面一个用例,导入用例的路径根据项目根目录使用相对路径
使用hrp 命令运行后生成报告

hrp run login/userinfo.yml --gen-html-report

  注意点:执行hrp命令的时候,进入的目录一定要是login文件夹的上一级目录,否则无法成功引入login.yml文件种的内容。用例执行结果为0

 

 

第二种方式直接写入:把依赖关系写在同一条用例中

具体步骤:

config:
    name: 用例描述-登录用例
    base_url: http://124.70.221.221:8201
    variables:
        user: test1
        psw: "123456"
    export:
    - token

teststeps:
-
    name: step-登录
    request:
        url: /api/v1/login
        method: POST
        json:
            username: $user
            password: $psw
    extract:
        token: body.token
    validate:
        - eq: [status_code, 200]
        - eq: [body.msg, login success!]

-
    name: step-userinfo
    request:
        url: /api/v1/userinfo
        headers:
            Authorization: Token $token
        method: POST
        json:
            name: $user
            sex: M
            age: 20
            mail: [email protected]
    validate:
    - eq: [status_code, 200]
    - eq: [body.code, 0]

  进入testcase目录,执行hrp输出report

hrp run test_info.yml --gen-html-report

  

 

标签:name,接口,关联,用例,token,httprunner4,login,eq,yml
From: https://www.cnblogs.com/jiangkeji/p/17438215.html

相关文章

  • Python+Requests零基础系统掌握接口自动化测试
    Python+Requests零基础系统掌握接口自动化测试download:3wzxit666com设计高性能的售票系统在当今数字化时代,一个高性能的售票系统对于任何企业或机构来说都是至关重要的。无论该系统服务于电影院、剧院、运输公司还是其他类型的场所,它必须始终可靠、快速和易于使用。以下是几个要......
  • django中的多表关联
    一、三种关联情况 二、ORM的正向操作和反向操作1.正向操作:一个模型中定义了一个外键,通过该模型对该外键操作的操作叫做正向操作。2.反向操作:被外键所关联的模型,通过该模型对外键所在模型的操作叫做反向操作。  -------------------  关联表的详细使用方式,引用:“ ......
  • API接口对电商平台有怎样的帮助?如何获取API接口?
    ​ API(ApplicationProgrammingInterface)接口对电商平台有很多帮助,下面列举几点:1.提高效率API接口可以让电商平台的不同模块之间进行快速的数据交互,帮助平台实现更高效的业务处理。比如,在订单管理和支付等方面,API接口可以让卖家直接与快递公司和支付渠道进行对接,从而提......
  • drf——全局处理异常、接口文档、jwt介绍、based64编码与解码
    全局异常处理原理#对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理{code:999,msg:'系统异常,请联系系统管理员'}#只要三大认证,视图类的方法出了异常,都会执行一个函数: rest_framework.viewsimportexception_handler#drf只要出了异常就会执行这是drf的配置文件......
  • 我的第一个项目(十四) :完成数据保存功能(前端,增查改接口)
    好家伙,天天拖,终于写完了 代码已开源(Gitee)PH-planewar:个人开发的全栈小游戏前端:vue2+element-ui后端:Springboot+mybatis-plus数据库:mysql目前实现功能:1.注册登陆2.游戏数据保存3.游戏运行(gitee.com)(前后端放一起了)怎么说呢,感觉比较简洁,但是问题......
  • gnmi 基于grpc 的网络管理接口
    网络自动化是这几年对于网络管理比较重要的话题,openconfig就是一个开放组织,gnmi是基于grpc提供的网络管理接口,对于需要开发网络自动化的应用是值得参考使用的参考资料https://github.com/openconfig/gnmihttp://www.openconfig.net/......
  • 前端仿企查查、天眼查关联投资结构 股权结构 树形结构 控股结构
    快速实现前端仿企查查、天眼查关联投资结构股权结构树形结构控股结构,下载请访问uni-app插件市场:https://ext.dcloud.net.cn/plugin?id=12073效果图如下:  **html部分**<template><viewclass="content"><CCBCashTreev-if="(curTreeName.length>0)":treeName="cu......
  • tp6的with关联使用(删查)
    1、with的使用Thinkphp可以进行关联操作,数据库中需要用到join连接查询时候,用thinkPHP框架的关联查询可以有效的提高查询效率,下面是常用的关联:hasOne:有一个,A有一个B(一对一关联)hasMany:有很多,A有很多B(一对多关联)belongsTo:多个(或一个)A属于B(属于,相当与多对一)belongsToMany......
  • drf全局异常处理,接口文档,jwt介绍和原理,base64编码和解码
    drf全局异常处理:只要三大认证,视图类的方法出了异常,都会执行一个函数:rest_framework.viewsimportexception_handlersetting:REST_FRAMEWORK={'EXCEPTION_HANDLER':'app01.exception.commn_exception_handler',#导入自己写的异常类的路径}......
  • 全局异常处理,接口文档,JWT,base64编码解码
    1全局异常处理#对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理{code:999,msg:'系统异常,请联系系统管理员'}#只要三大认证,视图类的方法出了异常,都会执行一个函数:rest_framework.viewsimportexception_handler###注意:exception_handler#如果异常对象是......