Faker主要用来生成开发测试过程中的的模拟真实数据。JMeter主要用于测试,在测试的过程中造数据是一个很头疼的问题。今天笔者就来介绍一下如何将Faker和JMeter进行组合来实现。模拟数据创建,通过Faker创建的模拟数据更加真实。
1. 环境准备
·JMeter, 版本:5.4.3
· javafaker,版本:1.0.2
下载javafaker的jar包,然后把jar包放到JMeter的lib目录中。
这里就已经准备好了。接下来就是启动JMeter服务。
Tips: 由于javafaker还有依赖snakeyaml,所以这个jar包也需要引入。
2. JMeter+Faker案例
用一个简单的创建用户作为例子,首先创建用户需要的几个字段:名称、年龄、手机号码、电子邮件就用这几个字段。
2.1 服务端接口编写
在服务端编写一个简单的Spring Boot web项目的创建用户接口:
public class User { private String name; private String age; private String mobile; private String email; //省略get set方法 } @RestController @RequestMapping("/jmeter") public class JmeterController { @PostMapping("/user") public User getDistributedId(@RequestBody User user){ return user; } }
这个就是一个简单的后台服务。
2.2 JMeter脚本编写
创建线程组:
添加BeanShell Sampler:
编写BeanShell Sampler的代码:
2.3 增加 HTTP Reqeust
2.4 运行
每次运行生成的数据都不一样。
通过编写代码的方式将faker和JMeter整合到一起,可以用于测试接口或者通过接口造数据。造出来的数据更加的真实。
3. JMeter的BeanShell Sampler变量
通过官网可以知道有以上的变量可以使用。上面的例子就用到vars变量,后续的组件可以获取到里面的值。
4.总结
JMeter+Faker的组合,在测试和造数据有这更加真实的可靠,同时生产的数据更加随机,比起手动和直接写生产数据的规则代码大大提高了效率。
作者:蚂蚁背大象