JMeter 5.0:造测试数据(加载第三方包)

25 篇文章 1 订阅
15 篇文章 1 订阅

1.问题

通过jmeter内置函数造出来的数据,不够贴近真实,展示时效果不太友好
比如手机号,使用随机11位数字的方式实现,但与真实的情况相差甚远

2.分析

如果数据工厂的库就好了,根据不同数据的定义规则,自动生成相对真实的数据
python有Faker库,google后发现java有个类似的库:JavaFaker
将jar包加载到jmeter中Library中,就能轻松使用

3.实现

3.1.jar包下载

进入maven仓库(https://mvnrepository.com/),分别下载

  • javafaker-1.0.2.jar
  • snakeyaml-1.23.jar

3.2.加载jar包

可以直接将jar包放置在jmeter安装包的lib目录中
也可以在TestPlan中直接加载jar包,如下图
image.png

3.3.使用faker

首先import类,将其加载到线程的上下文中

import com.github.javafaker.Faker
import java.util.Locale


def filename = "${filename}-${__threadNum}.txt"
def myfile = new File("${file_path}", filename)
def faker = new Faker(Locale.CHINA)

if(myfile.exists()) {
	myfile.delete()
}

vars.putObject('myfile', myfile)
vars.putObject('faker', faker)

然后就可以调用相应的方法生成数据

def myfile = vars.getObject('myfile')
def faker = vars.getObject('faker')

myfile << "${faker.name().name()}${sep}${faker.internet().ipV4Address()}${sep}${__Random(0,99,)}\n"

image.png

生成的数据如下

杜思聪,147.231.115.83,68
彭志泽,254.165.224.174,70
熊煜城,144.84.125.113,4
夏子轩,143.144.2.147,98
杨浩然,230.106.3.163,25
洪振家,85.228.58.118,20
胡哲瀚,59.139.103.149,84
罗立辉,143.166.191.189,23
孙文昊,241.194.137.192,39
秦立辉,30.232.105.91,14
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值