jemter接口测试+断言+参数化+接口关联实战教程

此次实例准备:
jmeter实战接口申请地址:https://www.tianapi.com/

实例信息
请求10次身份证归属地查询接口 ,提取响应数据的星座信息作为请求参数,给星座运势查询接口使用(即接口之间关联调用)。
下面是两个接口的基本信息:
A.身份证归属地接口
API:https://apis.tianapi.com/sfz/index
接口信息:接口返回身份证号码归属地(发证地)、生日、生肖、星座、性别信息。15位的身份证号自动转换为18位。
▼ 接口信息
接口地址:https://apis.tianapi.com/sfz/index
请求示例:
https://apis.tianapi.com/sfz/index?key=APIKEY&idcard=421121195205201619
支持协议:http/https
请求方式:get/post
返回格式:utf-8 json
▼ 请求参数
post方式请求时,enctype应为application/x-www-form-urlencoded

上传文件二进制数据流方式,enctype必须为multipart/form-data

参数url、base64中有特殊字符时,建议对值urlencode编码后传递

名称 类型 必填 示例值/默认值 说明
key string 是 您自己的APIKEY(注册账号后获得) api密钥
idcard string 是 421121195205201619 身份证号码
▼ 返回示例
接口数据样例仅作为预览参考,请以实际测试结果为准

{
  "code": 200,
  "msg": "success",
  "result": {
    "birthday": "1952-05-20",
    "age": 69,
    "sex": "男",
    "zodiac": "龙",
    "xingzuo": "金牛座",
    "address": "湖北省黄冈市团风县"
  }
}

B.星座运势接口
API:https://apis.tianapi.com/star/index
接口信息:查询十二星座每日运势,支持幸运色,工作指数,爱情指数。幸运色等等。年月日缺省时,默认为当天运势

▼ 接口信息
接口地址:https://apis.tianapi.com/star/index
请求示例:https://apis.tianapi.com/star/index?key=APIKEY&astro=taurus
支持协议:http/https
请求方式:get/post
返回格式:utf-8 json
▼ 请求参数
post方式请求时,enctype应为application/x-www-form-urlencoded

上传文件二进制数据流方式,enctype必须为multipart/form-data

参数url、base64中有特殊字符时,建议对值urlencode编码后传递

名称 类型 必填 示例值/默认值 说明
key string 是 您自己的APIKEY(注册账号后获得) API密钥
astro string 是 taurus 星座中文或英文名
date string 否 2020-10-12 日期
▼ 返回示例
接口数据样例仅作为预览参考,请以实际测试结果为准

{
  "code": 200,
  "msg": "success",
  "result": {
    "list": [
      {
        "type": "综合指数",
        "content": "80%"
      },
      {
        "type": "爱情指数",
        "content": "80%"
      },
      {
        "type": "工作指数",
        "content": "80%"
      },
      {
        "type": "财运指数",
        "content": "70%"
      },
      {
        "type": "健康指数",
        "content": "80%"
      },
      {
        "type": "幸运颜色",
        "content": "金色"
      },
      {
        "type": "幸运数字",
        "content": "9"
      },
      {
        "type": "速配Q友",
        "content": "处女座"
      },
      {
        "type": "今日概述",
        "content": "今天朋友里面有些计较算计的人,沟通不顺利。部分人可能会比较想宅家躺吃"
      }
    ]
  }
}

案例分析
1)请求10次,可以利用jmeter的‘线程组’元件实现循环
2)接口A每次的请求参数可以利用jmeter的‘CSV数据文件设置’元件实现数据驱动,实现每次请求时获取不同的请求参数
3)接口B的请求参数依赖接口A的响应数据,两个接口存在关联关系,可以通过jmeter的‘后置处理器‘元件Json提取器来提取接口A响应信息中的星座
4)最后,为了验证结果,响应增加监听器组件(eq:查看结果树、聚合报告、断言结果)来查看结果
————————————————

接口测试实战步骤

1、添加测试计划和线程组,并配置运行条件
1) 添加线程组元件:测试计划->添加->线程组(用户)->线程组
勾选‘独立运行每个线程组’,确保接口按顺序请求,避免出现接口B先于接口A请求导致接口B获取不到对应的请求参数值的现象
在这里插入图片描述
2) 配置线程组元件:结合情景,线程数设置为1、循环次数设置为10即可满足要求
在这里插入图片描述
2、添加及配置HTTP请求默认值和HTTP请求
1)线程组右健>添加>配置元件>HTTP请求默认值
在这里插入图片描述
因为两个API都是同一个域名或IP,所有直接使用HTTP请求默认值,后面接口请求就不需要填写了
在这里插入图片描述
2) 添加HTTP请求元件:测试计划->线程组->添加->取样器->HTTP请求,因为一共有两个接口,所以需要增加两个HTTP请求元件
在这里插入图片描述
3)配置HTTP请求元件-A接口:结合A接口的接口信息,填写路径、请求方式、请求参数等信息。其中,由于接口A的参数值计划利用数据驱动实现,所以这里先填写对应参数的引用名
在这里插入图片描述
4)配置HTTP请求元件-B接口:结合B接口的接口信息,填写路径、请求方式、请求参数等信息。其中,由于接口B的参数值依赖于接口A的响应数据,所以这里先填写对应参数的引用名
在这里插入图片描述

3、接口A实现数据驱动
1) 准备CSV数据文件:根据需要,准备好对应的CSV文件,文件内容含所需的有效的key、idcard参数值
在这里插入图片描述
2)A请求的子节点下新增CSV数据文件设置元件并完成配置
a 在使用参数化的请求上右健>添加>配置元件>CSV数据文件设置
在这里插入图片描述
b 配置CSV元件
在这里插入图片描述

4、接口A及接口B实现关联
接口A请求的子节点下新增JSON提取器元件并完成配置
在这里插入图片描述
在这里插入图片描述
5、接口A、接口B增加断言
1) 接口A子节点下添加断言,断言方式为验证响应体中是否包含‘ “msg”:“success” ’信息

在这里插入图片描述
2) 接口B子节点下添加断言,断言方式为验证响应代码是否为200。(也可以使用其他断言内容,如上)
在这里插入图片描述
6、增加监听器组件,监听结果
1)线程组下增加察看结果树元件、聚合报告、断言结果在这里插入图片描述

7、运行测试
在这里插入图片描述
查看结果
在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值