jmeter取样器javaRequest脚本8
- 1,创建一个maven工程
- 2,通过maven编译打包生成一个jar包
- 3,重启jmeter,新建java request请求
- 4,开始执行脚本
- 本文永久更新地址:
1,创建一个maven工程
在pom.xml文件中添加
maven下载地址:https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_java/5.4.1
<dependencies><!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_java --><dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_java</artifactId><version>5.4.1</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_core --><dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_core</artifactId><version>5.4.1</version></dependency></dependencies>
新建一个类继承jmeter的AbstractJavaSamplerClient父类,继承后重新父类中的方法
类名 | 方法名 | 说明 |
---|---|---|
Arguments params = new Arguments(); | params.addArgument("Sleep_Time","100"); | 添加到参数的key和value,这个参数添加后在java request的参数中显示 |
JMeterVariables jmeterVar = javaSamplerContext.getJMeterVariables(); | jmeterVar.get("username") | 获取jmeter全局变量中的值,比如获取界面上用户自定义变量配置元件中的变量值,csv导入数据的变量等,通过变量名获取 |
SampleResult sampleResult = new SampleResult(); | sampleResult.sampleStart(); | 在请求开始之前记录一下开始时间,然后在请求结束后在记录结束时间sampleResult.sampleEndt();,就能统计出每次请求所需的时间 |
sampleResult.setSuccessful(true或者false); | 记录请求的结果为成功或失败为true则记录成功,为false则记录为失败 | |
sampleResult.sampleEnd(); | 在请求开始之前记录一下开始时间,然后在请求结束后在记录结束时间sampleResult.sampleEndt();,就能统计出每次请求所需的时间 | |
sampleResult.setResponseData("".getBytes()); | 获取每次请求返回的结果 |
获取java request取样器中的参数列表,不继承父类的话参数列表就是空的,定义后,添加对应的参数名和参数值,就会显示到参数列表
//父类的方法,可以不继承public Arguments getDefaultParameters() {Arguments params = new Arguments();params.addArgument("Sleep_Time","100");return params;}
这两个方法是继承父类中的用例执行之前的方法和用例执行之后清理数据的方法
@Overridepublic void setupTest(JavaSamplerContext context) {System.out.println("用例开始数据生成");}@Overridepublic void teardownTest(JavaSamplerContext context) {System.out.println("测试结束清理数据");}
继承父类中的runTest方法
@Overridepublic SampleResult runTest(JavaSamplerContext javaSamplerContext) {//从jmeter全局变量中获取值,获取界面上用户自定义变量配置元件中的变量值,通过变量名获取JMeterVariables jmeterVar = javaSamplerContext.getJMeterVariables();String username = jmeterVar.get("username");String password = jmeterVar.get("password");String hostname = jmeterVar.get("hostname");String port = jmeterVar.get("port");SampleResult sampleResult = new SampleResult();sampleResult.sampleStart();JHttpRequestSample.apiTest(hostname,port,username,password);sampleResult.setResponseData("".getBytes());//获取每次请求返回的结果String code ="200";if (code == "200"){sampleResult.setSuccessful(true);}else {sampleResult.setSuccessful(false);}sampleResult.sampleEnd();return sampleResult;}public static void apiTest(String hostname, String port, String username, String password){// 接口String path1 = "/api/v1/user/login";String loginUrl ="http://" + hostname + ":" + port + path1;String data = "{\n" +"\t\"authRequest\": {\n" +"\t \"userName\": \"" + username + "\",\n" +"\t \"password\": \"" + password + "\"\n" +"\t}\n" +"}";String respData1 = HttpClient.sendPost(loginUrl, data);System.out.println("返回的结过筛是:"+respData1);}
可以通过main方法调试一下脚本是否正常
public static void main(String[] args) {//实验代码String hostname = "localhost";String port = "9091";String username = "user01";String password = "pwd";boolean result = JHttpRequestSample.menuRestfulAPITest(hostname, port, username, password);System.out.println("最终结果:" + result);}
2,通过maven编译打包生成一个jar包
生成的jar复制到对应jmeter的lib/ext目录下
3,重启jmeter,新建java request请求
新建java requst请求后,选择自定义的jar包,可以看出这里的两个参数数在getDefaultParameters方法添加进来的,这这里可以修改
4,开始执行脚本
在执行前,先进行1个并发进行调试一下如果没有报错,在进行多并发测试
如果报错在jmeter启用的控制台查看报错日志
本文永久更新地址:
https://www.fenxiangbe.com/p/jmeter取样器javaRequest脚本8.html
jmeter取样器javaRequest脚本8相关推荐
- JMETER badboy 录制脚本
JMETER badboy 录制脚本 我们介绍第三方工具badbay 进行录制脚本,同时把录制的脚本导入JMETER. 启动badboy 进入badboy 的主界面 输入需要录制脚本的地址,比如输入 ...
- jmeter代理服务器录制脚本教程(入门篇)
jmeter代理服务器录制脚本教程 1. jmeter有两种录制脚本的方法,一种下载安装badboy来录制后导入jmeter,另外一种使用jmeter代理服务器来录制脚本:以下就介绍一下jmeter代 ...
- 性能工具之 JMeter 使用 Python 脚本快速执行
文章目录 一.前言 二.预备知识 1.Python 基础知识 2.JMeter 基础知识 三.Python 脚本 1.主要步骤 2.参考代码 四.使用说明 五.总结 一.前言 上篇文章 性能工具之 J ...
- Jmeter创建一个脚本
一.下载安装 Jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi 下载解压即可. Jmeter需要Java环境支撑,请自行百度,下载安装及配 ...
- Jmeter 在 beanshell 脚本中写日志
JMETER 在执行时,会写日志数据,我们在编写脚本的时候也可以自己写日志. 日志记录再jmeter 的bin 目录的 jmeter.log 文件中. jmeter 比较人性化,它在这里提供了脚本可以 ...
- jmeter执行python脚本,Jmeter+Python-1问题记录jmeter执行Python3的脚本时报 ValueErro
Jmeter+Python-1问题记录jmeter执行Python3的脚本时报 ValueErro Jmeter+Python-1:问题记录,jmeter执行Python3的脚本时报 ValueErr ...
- Jmeter+ant运行脚本,得到HTML报告
我的本机环境:Windows10,Jmeter 3.0 首先需要安装ant,我的ant版本是1.10.1 下载ant的下载包,如:apache-ant-1.9.7-bin.zip,并解压,在系统变量编 ...
- Jmeter录制app脚本
前期准备 电脑安装Jmeter:手机:wifi; 操作步骤: 1.启动Jmeter 2."测试计划"中添加"线程组": 3."工作台"中添加 ...
- jmeter(2)录制脚本
Jmeter脚本是以JMX格式为主 Jmeter也是支持录制的,支持第三方录制方式和代理录制方式. 1.第三方录制主要是通过badboy来录制,录制后另存为jmx格式即可. 2.Jmeter也有自己的 ...
最新文章
- CentOS7修改主机名称
- Spring AOP功能和目标
- Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)
- 设置TextField内文字距左边框的距离
- redis复制key的数据_Redis常见面试题
- bzoj千题计划203:bzoj3994: [SDOI2015]约数个数和
- 传统 Ajax 已死,Fetch 永生
- Docker开启和关闭容器自启动
- 用R语言实现密度聚类dbscan
- web程序设计-动态网页技术?06
- 关于vue创建项目失败的原因
- HP5100常见错误代码
- 隔壁老王和老宋的战争
- 如何降低疾病监测的漏诊比率?一种新的分类学习算法...
- python3总结和spider爬虫
- Rxjava的背压策略
- 3的16次方用计算机怎么算,excel2016次方公式怎么用
- 【数字信号处理】线性常系数差分方程 ( 使用递推解法求解 “ 线性常系数差分方程 “ | “ 线性常系数差分方程 “ 初始条件的重要性 )
- unity世界坐标与相对坐标转换
- UESTC论坛-清水河畔自动登陆/重复发贴/安全性分析