15064861615

Jmeter负载测试实例

发布时间:2021-6-23
来源:

Apache JMeterTM 是轻量级性能测试工具,可以用来模拟服务器、网络或测试对象的压力负载。它支持许多不同的应用程序/服务器/协议类型,比如WEB、SOAP / REST Webservices、FTP、JDBC、LDAP、JMS;也可以从通过从HTML、JSON、XML等流行的响应格式中提取数据,实在是测试行业人人必备的实用工具。下面,我们就来上手体验一下使用Jmeter发送JSON报文的负载测试吧。

  负载测试的第一步是确定被压环境。但是在开发过程中,经常会出现前端先开发好,后端还在开发中的情况;或者单纯想体验工具,没有具体的项目、环境可供使用,怎么办呢?使用Mocky模拟一个被压环境就是有效的解决方案。Mocky是一个免费的 API 模拟器,官方网址是 http://www.mocky.io/。你可以用Mocky生成自定义API 响应,模拟测试的网络请求返回信息。

  Mocky的使用非常简单,首先,点击网站右上角“NEW MOCK”新建。

  接下来,在BODY框输入你希望收到JSON返回数据。示例为一个成功与否的标志再加上一个用户ID,如下

  { "flag":"N", 'userid':'test001' }

  然后,点击“Generate my HTTP Response”,就可以生成模拟接口地址

  https://run.mocky.io/v3/6c4c44bf-3ef8-4fcd-ade7-e593c115f905。

  最后,点击网址,可以看到返回与之前的配置一致。

  后端模拟环境配置好了,接下来就该使用Jmeter模拟类型为json的http请求来体验测试了,步骤如下:

  1.启动Jmeter,在测试计划下面添加线程组Thread Group,然后设置线程数、运行时间、重复次数或发压持续时间。

  2.新建Http请求,设置服务器域名,路径,方法,编码格式,数据内容。本原型使用Mocky模拟后端,所以在对应的域名填入Mocky网站地址run.mocky.io,在路径填入生成的模拟接口地址的后半部分v3/6c4c44bf-3ef8-4fcd-ade7-e593c115f905。

  3.不要忘记新建HTTP信息头管理器,并在信息头中添加一条名称为Content-Type,值为application/json的记录,否则服务器并不知道你传的是JSON报文,就会报错。

  4.添加断言JSON Assertion,判断交易成功与否。在Assert JSON Path exists框中填入待判断的JSON字段,比如$.flag;在Expected Value填入对应的成功标志,比如N。当返回的JSON报文中的flag字段对应值为N时,交易成功;否则,交易失败。

  5.添加查看结果树和摘要报告。点击执行,查看测试情况。摘要报告中的主要指标有平均响应时间Average、每秒事务数Throughput、失败率Error。

  利用Mocky进行Jmeter+JSON负载测试体验至此就全部完成了。


更多新闻

专业测试,请联系我们!
15064861615