• 使用Jmeter测试java请求


    1、性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发、打包好要测试的代码,就能在Java请求中对该java方法进行性能测试
    2、本文举的例子是Java实现通过传入两个参数,将值写入到文件中


    • 开发思路
      1、使用Eclipse创建Maven 项目,配置Pom文件,引入Jmeter开发Java请求所需的依赖包;
      2、创建输入参数类,和测试类,然后继承JavaSamplerClient,实现四个主方法;
      3、对编写好的项目进行编译、打包
      4、把打包好的函数放到jmeter扩展目录,调用Java请求,对封装的Java方法进行测试;

    JDK环境Jmeter依赖包版本Maven仓库版本
    1.8 4.0 3.5.3

    Java_Sample完整项目下载方法见文章末尾介绍

    一、新建Maven项目
    1. File》New》Project,选择Maven》Maven Project,一直点击Next
    在这里插入图片描述
    在这里插入图片描述
    2. 配置Pom文件,Pom文件配置的Jmeter4.0版本,只要保存了Pom文件,系统就会自动下载和关联相应的jar包,Pom配置文件如下:
    在这里插入图片描述
    3. 保存Pom文件之后,系统会自动下载关联的依赖文件,会用到的为ApacheJMeter_core-4.0.jar和ApacheJMeter_java-4.0.jar如下图:
    保存前:
    在这里插入图片描述
    保存后:
    在这里插入图片描述
    4. 此时,由于对pom文件进行了修改,项目顶层会出现一把×,并且编译可能就会报错,需要执行Maven》Update Project更新外部依赖的Jar包
    在这里插入图片描述
    更新前:
    在这里插入图片描述
    更新后,编译、打包正常:
    在这里插入图片描述
    二、编写输入参数类、测试类
    1. 输入参数类,该类就是被测试的java方法,主要是实现将参数写入到文件,代码如下:
    在这里插入图片描述
    2. 测试类,首先在com.xiet.Java_Sample包下创建一个类,类名为Jmeter_Test,需要继承JavaSamplerClient类,然后实现父类的四个方法,和一个main方法
    在这里插入图片描述

    main主方法主要是用来本地调试,用来测试封装的Java方法是否功能正常,如果能实现正常功能,就可以进行编译、打包在Jmeter中进行调用

    在这里插入图片描述

    setupTest方法为初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,默认置空即可

    在这里插入图片描述

    runTest方法为测试方法,该方法用来传入输入的参数,然后调用参数类,进行测试

    在这里插入图片描述

    teardownTest方法为结束方法,实际运行时每个线程仅执行一次,在测试方法结束后执行,默认置空即可

    在这里插入图片描述
    3. getDefaultParameters方法为设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中,如下所示:
    在这里插入图片描述
    三、编译、打包
    1. 编写代码完成,就可以进行编译、打包操作了,右键点击项目》Run As》Maven build
    在这里插入图片描述
    2. 在Goals中输入package,然后点击Apply》Run执行编译,打包操作
    在这里插入图片描述
    3. 编译打包完成,在target目录会生成一个jar包,如下图所示
    在这里插入图片描述
    在这里插入图片描述

    四、验证开发的函数是否正常
    1. 首先把Java_Sample_0.1.jar函数放到jmeter的libext目录
    在这里插入图片描述
    2. 然后启动Jmeter,线程组》添加》Sample》Java请求
    在这里插入图片描述
    3. 在类名称中选择封装的Java类,为com.xiet.Java_Sample.Jmeter_Test,该类名称为包名+类名
    在这里插入图片描述
    4. 本次设置2线程,2循环,点击执行按钮,执行结果如下:
    在这里插入图片描述
    在这里插入图片描述

    完整源码如下
    在这里插入图片描述
    ***
       如果文章对你有帮助,欢迎关注本人公众号,公众号与本平台文章同步,方便大家查阅,本人会持续推出与测试有关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制


    QQ技术交流群:加群请输入验证信息 博客园
                  在这里插入图片描述


    微信二维码关注公众号:

    在这里插入图片描述


    关注之后,回复资源下载,即可获取本人共享的各种资源下载地址

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dkyHNY2D-1569554485737)(https://s1.51cto.com/images/blog/201908/06/2e62f8806e1dc1c391c4332ac7fd70b1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)]

  • 相关阅读:
    MySQL密码复杂度与密码过期策略介绍
    mysql 5.7安装密码校验插件validate_password
    MySQL安装控制插件(Connection-Control)--可有效的防止客户端暴力登录的风险(攻击)
    Liunx 无法杀掉reids进程解决方法
    Linux安装Kafka
    ZooKeeper安装及简单操作
    关于数组的算法题(一)
    集合框架方法(用于算法)
    Spring简答题(一)
    java选择题(三)
  • 原文地址:https://www.cnblogs.com/Jmeter-Automation/p/12730585.html
Copyright © 2020-2023  润新知