专栏首页搜狗测试JMeter 批量接口测试

JMeter 批量接口测试

一、背景

最近在进行某中台的接口测试准备,发现接口数量非常多,有6、70个,而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值。想了几种方案后,决定尝试使用JMeter的csv读取来实现批量的接口测试。

二、脚本编写

1、添加线程组

2、添加HTTP信息头管理器

添加必须的接口信息头,比如Appid、Authorization

3、添加HTTP请求

4、添加循环控制器

5、配置csv文件

定义传入的参数名称:

num:用例编号

apiSeq:功能序号

apiName:接口功能

classify:功能模块名称

api:接口地址

function:请求方法

parameter:请求体参数

expValue:预期结果

根据测试用例填写参数,如下表所示:

6、添加csv配置文件

将变量名称num,piSeq,apiName,classify,api,function,parameter,expValue按照英文逗号隔开;因为csv首行为参数名称,在参数设置中,忽略首行设置为True,同时设置遇到文件结束符停止线程。其他参数如下图所示:

7、设置HTTP请求参数

HTTP请求名称设置为:${num}${apiSeq}${apiName};

方法设置为:${function};

路径设置为:${url};

消息体设置为:${parameter}

8、添加断言

添加json断言,根据http请求返回结果,和预期结果${expValue}进行对比。

9、添加监听器

添加查看结果树,查看最后测试结果是否正确。

心系武汉

三、测试结果

预期结果和返回结果一致,结果树中显示为绿色,说明断言通过。下图展示一部分接口测试的结果:

心系武汉

四、总结

本期为大家介绍了JMeter使用csv读取参数的方式进行批量的接口测试,在项目时间紧急,测试时间比较短的时候使用,可以提升测试的效率。同时csv方便管理,可以根据测试用例随时进行补充,提高测试覆盖范围。如果有其他更方便的方法,欢迎与小编进行讨论。

本文分享自微信公众号 - 搜狗测试(SogouQA),作者:小Y

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 接口自动化测试--框架设计思路

    之前文章跟大家分享了一下自己在接口自动化测试中进行测试准备的一些相关知识点,接下来本篇文章详细分享一下接口自动化框架设计的思路总结,希望能对初次探索接口自动化...

    用户5521279
  • 接口自动化测试--准备阶段

    客户端(前端)与服务端(后端)的关系,一般小编会理解为“服务端负责赚钱养家,客户端负责貌美如花”。客户端更注重的是功能呈现及用户体验,怎么将强大的功能...

    用户5521279
  • 初识渗透测试

    熟悉军事的朋友都应该了解,各个国家的军队每年都会组织一些军事演习来检验部队的攻防战术和作战能力,在美国,一般会将美军称为蓝军,将假想敌称为红军,这种军事演戏的方...

    用户5521279
  • CNCF网研会:利用Vitess地理分片技术透明地解决数据本地化问题(视频)

    随着各国政府通过数据本地化法律,具有管辖权的数据库集群变得越来越重要。通常,支持数据本地化意味着重新设计应用程序的架构,并对新特性的交付进行打击。此外,将现有数...

    CNCF
  • 手游MOBA之殇在网络——浅析手游网络损伤专项测试

    弱网络专项测试(客户端网络损伤专项测试)是腾讯游戏内部评审时,非常重要的一环,直接决定了产品是否能直接上线运营。针对最近非常火爆的MOBA类游戏,对客户端网络损...

    WeTest质量开放平台团队
  • 为测试赋能,腾讯 WeTest 探索手游 AI 自动化测试之路

    WeTest率先尝试将基于深度学习的人工智能应用于手游测试当中,开启AI手游自动化测试时代。

    WeTest质量开放平台团队
  • 微服务分布式一致性模式

    微服务拆分后遇到的一个麻烦是分布后的一致性问题。单体架构的业务处理和数据都在一个进程里面,一致性保障很成熟,开发人员基本上不用关心。当把业务系统拆分到不同进程时...

    ThoughtWorks
  • JavaScript深入浅出第5课:Chrome是如何成功的?

    在上一篇博客中,我聊了一下JavaScript引擎V8的工作原理,顺其自然,接下来应该来聊聊渲染引擎Blink或者Chrome浏览器的工作原理。但是,这2个坑以...

    Fundebug
  • mybatis代码生成器不生成example的方法

    我用mybatis生成器,生成时总有两个model类,一个是PO类,一个是example,但example我不想要了,想去掉,查一下,修改相关配置即可. 原来...

    星痕
  • Python3.6中那些很酷的特性

    离 python2 退休还有 702 天,Python3.7 也将在 6 月份发布正式版,你还记得 3.6 有哪些酷炫的特性吗?来回顾一下。

    崔庆才

扫码关注云+社区

领取腾讯云代金券