美文网首页
JMeter造测试数据(加载第三方包)

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

作者: halfempty | 来源:发表于2021-10-20 09:46 被阅读0次

    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
    

    相关文章

      网友评论

          本文标题:JMeter造测试数据(加载第三方包)

          本文链接:https://www.haomeiwen.com/subject/paxtaltx.html