JMeter循环读取CSV文件实现接口批量测试

发表于:2020-1-21 08:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:朱思衡    来源:51Testing软件测试网原创

#
Jmeter
  首先要理解为什么要进行批量测试,当我们在工作中进行接口测试时,项目的接口肯定不止一个,而是很多很多,而且每个接口都需要进行正确参数,错误参数,参数为空,特殊字符等方式来测试接口是否能够正确返回所需的响应值。
  在编写脚本之前可以先汉化JMeter,找到JMeter解压/安装路径下的JMeter.properties,用编辑器打开(右键用记事本打开也可以):找到  #language=en  ,在下面添加:language=zh_CN 并重启JMeter
  那么我们该如何通过JMeter来完成批量测试呢? 我们先建立一个较为简单的方式进行测试脚本观察一下。
  以去获取创建订单时的【省/市/区信息】接口:api.test.XXXXXX.com/api/XXXX/XXXX/getAddress 请求方法:post 请求参数:type,code为例
  1.添加线程组
  测试计划右键选择添加--线程用户--线程组。
  Setup线程组:用于执行预测试操作
  tearDown:用于执行测试后操作
  线程组:一般测试接口时添加的线程,可以把它看做一个虚拟的用户组,线程组中的每一个线程都可以理解为一个虚拟用户
  2.添加HTTP信息头管理器。
  线程组右键选择添加--配置元件--HTTP信息头管理器
  如果接口信息头定义了值的话,需要放到信息头管理器里面,例如:用户token,公共参数等。
  3.添加HTTP请求
  线程组右键添加--取样器--HTTP请求
  协议:默认HTTP协议,可不填写,若为HTTPS协议需要填写HTTPS。
  服务器名称或IP:填写接口域名
  端口号:默认HTTPS请求的80,若为HTTPS请求需要填写443
  方法:直接选择接口的请求方法:GET,POST,PUT,DELETE即可。
  路径:填写接口的具体路径
  参数:点击下方导航栏添加按钮,在已经添加的数据栏填写参数名,参数值。
  4.添加察看结果树
  线程组右键添加--监听器--察看结果树
  左边:展示请求名,绿色请求结果表示请求成功,红色请求结果表示请求失败。
  右边:展示请求值,包括取样器结果,请求头,请求体,响应头,响应体。
  以上步骤能够确保接口正确的进行访问并返回对应的返回值。
  完成以上步骤后,下一步就是要把上面步骤的所有的值以参数的形式传递给JMeter脚本,使我们能够以参数化的形式对接口进行批量测试。
  5.添加循环控制器
  线程组右键添加--逻辑控制器--循环控制器,循环控制器添加后需要把【HTTP信息头管理器】【HTTP请求】移到【循环控制器下】
  循环次数:运行脚本后循环控制器下的HTTP请求将执行的次数。例如:循环控制器的计数为1,则发送HTTP请求1次;计数为5,则发送HTTP请求5次。设置为永远则需要手动停止请求,否则不会停止请求。
  6.在循环控制器下添加CSV配置文件
  循环控制器右键添加--配置元件--CSV数据文件设置,CSV文件里面定义接口所需要动态取值的参数,例如:URL,路径,请求方法,接口参数等。
  a)如何创建CSV文件?电脑桌面新建TXT文档,更名为:测试参数文档.CSV(TXT后缀需要变更为CSV),打开CSV文件新增数据。
  b)文件内参数如何书写?第一行定义接口所需动态参数,自第二行起填写接口详细值。
  caseSeq:定义接口序号
  apiSeq:每个接口序列
  apiName:接口名称
  url:接口域名
  api:接口地址
  function:接口请求方法
  purpose:描述接口验证类型
  parameter:接口所需参数拼接,以:"code=500000&type=city"的形式,参数间以"&"连接

 ......
查看更多精彩内容,请点击下载:

版权声明:本文出自《51测试天地》第五十六期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号