Jmeter做接口测试

摘要:
K采样器结果表明,特定操作信息请求包含请求头(通常没有错误)和请求主体的响应数据,以判断操作是否成功。2.数据用例的实现测试数据与参数有关,因为有三个输入参数,所以我们设计了一个正向用例和三个反向用例。标题格式为数据+预期结果。根据案例要求,在相应位置填写所有输入参数值。根据接口文档的返回参数填写expect。6.将其保存为csv文档。表格3。读取测试数据。在请求中添加原始配置->
Jmeter操作手册

以获取微信公众号access_token为例

一、操作步骤

  1. 创建集合,集合名可以是项目名称,这里改为“微信公众号测试”
  2. 创建一个线程组,命名为获取access_token
  3. 创建一个请求,命名为获取access_token
  4. 在接口文档里面获取信息,填写协议类型、服务器名称或ipHTTP请求方法、路径,端口号默认,因为是GEt方法不涉及请求体,故不填写消息体数据,也没有要求特定的请求头。具体填写如下:

             Jmeter做接口测试第1张k

取样器结果显示具体操作信息

请求里面包含请求头(一般没有错误)和请求体

响应数据用来判断操作是否成功

二、数据用例的实现

  1. 测试数据跟参数有关系,首先在wps里面创建excel表格,在表格第一行书写表头信息,包含title,入参数,expect,本次请求共有三个入参数,他们是grant_typeappidsecret
  2. 用例个数设计;因为入参为三个所以我们设计一个正向用例和三个反向用例
  3. 标题格式为数据+预期结果
  4. 将所有入参值按照用例要求填入相应位置
  5. 根据接口文档返回参数填写expect

Jmeter做接口测试第2张

   6.保存为csv文档形式

三、读取测试数据

  在请求内添加一个配置原件->CSVData Set Config原件读取。

  1. 文件名直接将刚刚填写好的获取access_token.csv文件导入
  2. 文件编码只需要在乱码的情况填写,在这里我们不填写
  3. 变量名称不写,如果我们不写就是按照csv文件第一行作为变量名称
  4. 因为上面没有填写变量名称所以忽略首行填写false
  5. 分隔符允许带引号?,一般情况不允许带引号,特殊情况允许,填写false
  6. 遇到文件结束符再次循环?在所有文件运行完了后不再运行所以我们选择false,再循环就填写true
  7. 遇到文件结束符停止线程?我们运行完了后就不再往下了,所以填写ture,否则则填写false

 Jmeter做接口测试第3张

  8.在线程组里面设置为永远

 Jmeter做接口测试第4张

四、数据参数化(每次循环可以获取不同的值)

1.${}表示

 Jmeter做接口测试第5张

五、断言

 Jmeter做接口测试第6张

1.产生四组

2.响应:对响应做断言,查看我们的响应是否包含某个特殊的数据

3.在线程组上添加一个断言_>响应断言

响应文本就是响应body

响应代码:responsecode例如“200”,“401

响应信息:ok”也就是message

我们没有响应代码和信息,所以我们选择响应文本

3.包含是说我们响应是否包含某个内容,包含和字符串的区别为是否支持正值表达式(包含包括)

匹配和相等差不多,只是匹配支持正值表达式

我们选择包括

4.点击添加:以参数形式放期望结果

 Jmeter做接口测试第7张

六、设置全局变量(客服发消息)

1.在做项目时你会发现我们重复在使用在个服务器IP和协议,所以为了提高效率我们可以在线程组下面添加一个http默认值,填写协议和服务器名称或ip,这样在下面需要填写这俩个地方的时候选择不填,系统会默认为你设置的这个值。

 Jmeter做接口测试第8张

 2.access_token设置为全局变量

(1)新建一个请求,命名为access_token前置,填写请求信息(HTTP请求方法、路径)

 Jmeter做接口测试第9张

(2)在线程组上右键选择添加->逻辑控制器->仅一次控制器,然后把access_token前置放入到仅一次控制器下面,这样全局变量access_token就只在线程组下面运行一次。

 Jmeter做接口测试第10张

 3.在线程组里面右键选择添加->监听器->察看结果树,查看access_token是否获取到,如果成功获取在察看结果树->响应数据里面会显示

 Jmeter做接口测试第11张

4.建立一个请求,命名为客服发消息,填写请求信息(HTTP请求方法、路径),然后将接口文档里面客服发消息文本信息填写进jmeter的客服发消息请求数据体内。

 Jmeter做接口测试第12张

5..点击access_token前置请求右键选择后置处理器(请求发完后执行)->json提取器。在变量名上填写全局变量名token(桥名称),在JSON路径表达式里面填写${access_token}(桥左边)。将客服发消息请求内的路径的ACCESS_TOKEN改成{token}(桥的右边)进行全局变量的调用。

 Jmeter做接口测试第13张

 Jmeter做接口测试第14张

6.提取access_token的值,在察看结果树下拉文本框选择JSON path Test,并在Json Path expression中填写入$.access_token

 Jmeter做接口测试第15张

 Jmeter做接口测试第16张

7.查看结果

 Jmeter做接口测试第17张

免责声明:文章转载自《Jmeter做接口测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇容器跨主机网络通信学习笔记(以Flannel为例)使用docker 搭建nexus3.29下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PyMySQL模块

  PyMySQL是Python操作数据库的模块,在Python3.x版本中用于连接MySQL服务器,即作为Python操作MySQL数据库对象的接口。 安装PyMySQL   pip3 install PyMySQL 导入PyMySQL   import pymysql 连接数据库   格式:conn = pymysql.connect(host=' '...

Java-多线程第四篇线程池

1、什么是线程池。     线程池在系统启动的时候即创建大量的空闲的线程,程序将一个Runnable对象或者Callable对象传给线程池,线程池就会启动一个线程来执行它们的run()或者call()方法,当run()或者call()方法执行结束后,该线程并不会死亡,而是再次返回线程池称为空闲状态,等待执行下一个Runable对象的run()或者call(...

【数据库开发】数据库连接池及其工作原理

对于一个简单的数据库应用,由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。 连接复用。通过建立一个数据库连接池以及一套连接使用管理...

SQL Server dbcc checkdb 做了什么。

第一步:          读取系统元数据、读完这些数据后dbcc checkdb 就知道自己要检测的是一个怎样的数据库了、如果在这一步就出错了、dbcc 就直接出错          了、不会再运行下去。 第二步:          在dbcc checkdb 内部会对数据库运行dbcc checkalloc命令          dbcc checka...

RAID和LVM磁盘阵列

RAID磁盘冗余阵列  CPU的处理性能保持着高速增长,Intel公司在2017年最新发布的i9-7980XE处理器芯片更是达到了18核心36线程。但与此同时,硬盘设备的性能提升却不是很大,因此逐渐成为当代计算机整体性能的瓶颈。而且,由于硬盘设备需要进行持续、频繁、大量的IO操作,相较于其他设备,其损坏几率也大幅增加,导致重要数据丢失的几率也随之增加。 1...

接口抓包测试工具Charles

作用: 1.抓取网络封包 (web/app)    2.断点替换  -- 请求断点               -- 响应断点    3.弱网测试    4.过滤    5.黑名单 Charles的原理: Charles是一款Http代理服务器和Http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发...