JMeter JavaRequest插件开发

发表于:2018-3-14 10:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:就这个名字好    来源:博客园

  1. 适用场景
  Jmeter工具当前支持的协议或协议所支持的传输方式及传输内容不能满足当前项目的测试要求时,就需要根据实际要求手动编写java测试代码(实现对应的Jmeter规范),以插件方式加载到Jmeter中作为一种自定义的取样器执行测试。
  2. 开发步骤
  1)新建java工程,引入Jmeter/lib下的jar包及自定义或第三方的jar包到该工程的构建路径中
  2)创建一个类并实现JavaSamplerClient接口或继承AbstractJavaSamplerClient类并且覆写以下四个方法:
  public Arguments getDefaultParameters() --设置用户需要传入java程序的参数并制定默认值,在Jmeter中会加载定义的参数且显示设定的默认值
  如果用户在jmeter java请求界面中输入了新值,代码中通过JavaSamplerContext对象获取
  public void setupTest(JavaSamplerContext arg0)--每个线程测试前执行一次做一些初始化工作
  public void teardownTest(JavaSamplerContext arg0)--的每个线程测试结束后调用做一些清理工作
  public SampleResult runTest(JavaSamplerContext arg0)--开始测试,从arg0可以获取参数值,编写核心业务逻辑--对数据进行处理封装发送,根据获取到的服务端响应结果对监听器写入数据
  3)收集服务器返回结果进行校验并将校验结果写入SampleResult对象
  SampleResult对象初始化:
  必须在runTest方法中初始化,不能放在setupTest中初始化,否则如果线程组中设置循环次数>1时执行测试Jmeter会报错导致测试无法执行
  SampleResult数据写入:
  sr.setSuccessful(true);    --请求的状态(是否成功)
  sr.setResponseData(res)    --请求的响应数据
  4)打包并将此jar包放入$JMETER_HOME\lib\ext下
  Eclipse-选择项目右键-Export-Runnable JAR file-Extract require libraries into...-Finish
  5)打开Jmeter创建线程组添加java请求,在右侧的java请求页面中字段‘类名称’下拉列表中显示步骤4中导入的jar包的包名及类名
  package jmeter.hcb.plugin;
  public class PerftestForEncrypt2 extends AbstractJavaSamplerClient {}
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号