Jmeter的使用----接口调用、正则表达式提取器、beanshell断言、http信息头管理器。
前几天看到有关幂等的的概念,对于比较重要的业务,如何保证接口的幂等至关重要,网上看到了许多解决方案,有使用redis的分布式锁、token等等方式来解决接口的幂等性,于是就写了一个简单的Demo来学习一下。于是乎,要对接口进行压力测试接口的幂等,网上找了款Jmeter压力测试工具来测试,初学做一下笔记,本篇介绍Jmeter的简单使用,后面会整理相关幂等的知识及Demo.
先简单介绍一下,Apache JMeter是Apache组织开发的基于Java的压力测试工具。
JMeter的作用
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
JMeter的高可扩展性
1.可链接的取样器允许无限制的测试能力。
2.各种负载统计表和可链接的计时器可供选择。
3.数据分析和可视化插件提供了很好的可扩展性以及个性化。
4.具有提供动态输入到测试的功能(包括Javascript)。
5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。
由于全是英文水平不好,所以下载完打开jmeter.bat文件后第一步切换为我们的chinese语言
第二步添加线程,然后配置参数
添加HTTP Request请求,并配置接口
可以添加结果树,汇总报告,聚合报告,查看接口运行状况。
正则表达式提取器,这个试了一下,就是配置正则提取响应中的内容
比如以下接口,配置正则提取内容分别为my 、name、is、lw随机字符串。
如果需要在信息头部加入token,可以使用BeanShell断言,配置如下
import java.util.UUID;
//生成UUID
UUID uuid1 = UUID.randomUUID();
//去掉‘-’并赋值
vars.put("token",(uuid1.toString()).toUpperCase().replaceAll("-",""));
ok,简单使用就是如此,如有问题,请留言更正。