性能测试工具 Jmeter 引入 jar 包踩过的坑

目录

前言:

Jmeter 中调用自己编写 jar 中的类出错

错误日志:

出现以上错误的原因:

解决方法:


前言:

JMeter 是一种开源的性能测试工具,可以帮助我们快速地进行网站、应用程序等的性能测试和压力测试。在使用 JMeter 进行测试时,我们需要引入相应的 jar 包来支持 JMeter 的功能。然而,在引入 jar 包的过程中,我们可能会遇到一些问题和坑。

Jmeter 中调用自己编写 jar 中的类出错

自己编写 Java 类打 jar 包,并将 jar 包放置到 Jmeter/lib/ext/目录下,启动 Jmeter,并在 Jmeter 中编写脚本调用 jar 包中的类,执行脚本出现以下问题:

错误日志:

2017/01/12 17:29:17 INFO  - jmeter.engine.StandardJMeterEngine: Running the test! 
2017/01/12 17:29:17 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2017/01/12 17:29:17 INFO  - jmeter.testelement.TestPlan: add D:\Tool\Jmeter\apache-jmeter-3.0\lib\ext\uaastool.jar to classpath 
2017/01/12 17:29:17 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2017/01/12 17:29:17 INFO  - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : getChallenge 
2017/01/12 17:29:17 INFO  - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group getChallenge. 
2017/01/12 17:29:17 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2017/01/12 17:29:17 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2017/01/12 17:29:17 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2017/01/12 17:29:17 INFO  - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2017/01/12 17:29:17 INFO  - jmeter.threads.JMeterThread: Thread started: getChallenge 1-1 
2017/01/12 17:29:17 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   Sourced file: inline evaluation of: `` String challenge = vars.get("challenge"); String response = com.uaastool.UaasTo . . . '' : Typed variable declaration : Class: com.uaastool.UaasTool.UaasTool not found in namespace 
2017/01/12 17:29:17 WARN  - jmeter.modifiers.BeanShellPreProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval    Sourced file: inline evaluation of: `` String challenge = vars.get("challenge"); String response = com.uaastool.UaasTo . . . '' : Typed variable declaration : Class: com.uaastool.UaasTool.UaasTool not found in namespace 
2017/01/12 17:29:17 INFO  - jmeter.threads.JMeterThread: Thread is done: getChallenge 1-1 
2017/01/12 17:29:17 INFO  - jmeter.threads.JMeterThread: Thread finished: getChallenge 1-1 
2017/01/12 17:29:17 INFO  - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2017/01/12 17:29:17 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*) 
2017/01/12 17:30:09 INFO  - jmeter.engine.StandardJMeterEngine: Running the test! 
2017/01/12 17:30:09 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2017/01/12 17:30:09 INFO  - jmeter.testelement.TestPlan: add D:\Tool\Jmeter\apache-jmeter-3.0\lib\ext\uaastool.jar to classpath 
2017/01/12 17:30:09 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2017/01/12 17:30:09 INFO  - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : getChallenge 
2017/01/12 17:30:09 INFO  - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group getChallenge. 
2017/01/12 17:30:09 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2017/01/12 17:30:09 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2017/01/12 17:30:09 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2017/01/12 17:30:09 INFO  - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2017/01/12 17:30:09 INFO  - jmeter.threads.JMeterThread: Thread started: getChallenge 1-1 
2017/01/12 17:30:09 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   Sourced file: inline evaluation of: `` String challenge = vars.get("challenge"); String response = com.uaastool.UaasTo . . . '' : Typed variable declaration : Class: com.uaastool.UaasTool.UaasTool not found in namespace 
2017/01/12 17:30:09 WARN  - jmeter.modifiers.BeanShellPreProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval    Sourced file: inline evaluation of: `` String challenge = vars.get("challenge"); String response = com.uaastool.UaasTo . . . '' : Typed variable declaration : Class: com.uaastool.UaasTool.UaasTool not found in namespace 
2017/01/12 17:30:09 INFO  - jmeter.threads.JMeterThread: Thread is done: getChallenge 1-1 
2017/01/12 17:30:09 INFO  - jmeter.threads.JMeterThread: Thread finished: getChallenge 1-1 
2017/01/12 17:30:09 INFO  - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2017/01/12 17:30:09 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*) 

出现以上错误的原因:

  • 自己代码本身存在问题
  • Jmeter 中引入包名及类名不正确
  • 自己代码中引用的第三方 jar 包直接打入 jar 包
  • 自己代码中引用的第三方 jar 包导入后,与 Jmeter 中已有 jar 包冲突。

解决方法:

  • 首先确保自己的代码在开发工具中运行正常
  • 其次检查 Jmeter 中是否进行正确的引入包名及类名
  • 如脚本中引入正确,检查自己打的 jar 包
    • 将自己的代码打包时不要将引用的其他第三方包打入 jar 包
    • 将自己代码引用的第三方包放入 Jmeter/lib/ext/目录下(需要检查导入 jar 包是否与 Jmeter 目前已有的 jar 包存冲突,需保证不存在 jar 包冲突)
    • 将自己代码打的 jar 包放入 Jmeter/lib/ext/目录下
  • 重启 Jmeter,再次运行脚本问题解决

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(软件测试相关资料,自动化测试相关资料,技术问题答疑等等)

相信能使你更好的进步!

点击下方小卡片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/45858.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

20230720在ubuntu22.04系统下载+解密+合并ts切片的步骤(STEP-BY-STEP版本)

20230720在ubuntu22.04系统下载解密合并ts切片的步骤(STEP-BY-STEP版本) 2023/7/20 23:06 https://app1ce7glfm1187.h5.xiaoeknow.com/v2/course/alive/l_64af6130e4b03e4b54da1681?type2&app_idapp1cE7gLFM1187&pro_idterm_645c69388953e_Nhew…

C# List 详解七

目录 42.Sort() 43.ToArray() 44.ToString() 45.TrimExcess() 46.TrueForAll(Predicate) C# List 详解一 1.Add(T),2.AddRange(IEnumerable),3.AsReadOnly(),4.BinarySearch(T), C# List 详解二 5.Cl…

TEE GP(Global Platform)认证规范

TEE之GP(Global Platform)认证汇总 一、GP认证规范库 二、TEE GP认证规范文档 如果需要TEE对应的GP认证规范文档,请按照下方选择框选择TEE,然后Search,共查询到31个相关规范文档。 参考: GlobalPlatform Certification - Global…

[回馈]ASP.NET Core MVC开发实战之商城系统(一)

经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,今天着重讲解布局设计,环境搭建,系统配置,及首页商品类型,banner条,友情链接等功能的开发。 首页布局设计 首页是…

工程安全监测无线振弦采集仪在建筑物中的应用

工程安全监测无线振弦采集仪在建筑物中的应用 工程安全监测无线振弦采集仪是一种用于建筑物结构安全监测的设备,它采用了无线传输技术,具有实时性强、数据精度高等优点,被广泛应用于建筑物结构的实时监测和预警。下面将从设备的特点、应用场…

(原创)自定义DialogFragment以及解决其内存泄漏问题

前言 日常开发中,dialog是常见的功能,我们时常需要弹出来一些弹框提示用户 今天就定义了一个方便的dialog基类BaseSimpleDialogFragment, 支持快速地显示一个dialog 主要功能有: initAnimation:设置入场和出场动画 ge…

【C进阶】指针进阶(1)_二次复习版

目录 1. 字符指针 1.1常量字符串的修改 加上const解决问题 打印常量字符串 1.2数组存放的字符串 1.3例题:数组创建与常量池的区别 2. 指针数组 2.1字符指针数组 2.2整型指针数组 2.3使用3个一维数组,模拟实现一个二维数组 2.4例题: 3.数组指针 3.1 数组指针的定义…

同步网盘使用中的五大突出优势

同步网盘是一种流行的云存储解决方案,它可以将您本地计算机上的文件与云端存储空间同步,以保证文件的备份和访问。那么,同步网盘使用中的突出优势是什么呢?下面就为您详细介绍。 一、数据备份 同步网盘最大的优势之一就是可以自动…

错误解决:Failed to create Spark client for Spark session

错误解决:Failed to create Spark client for Spark session "Failed to create Spark client for Spark session"的错误通常表示无法为Spark会话创建Spark客户端。这可能是由于以下一些常见问题导致的: Spark配置错误:请检查Spar…

智慧园区楼宇合集:数字孪生管控系统

智慧园区是指将物联网、大数据、人工智能等技术应用于传统建筑和基础设施,以实现对园区的全面监控、管理和服务的一种建筑形态。通过将园区内设备、设施和系统联网,实现数据的传输、共享和响应,提高园区的管理效率和运营效益,为居…

ubuntu开机自启动

ubuntu开机自启动 1、建一个test.sh脚本,并写入 #!/bin/sh gnome-terminal -x bash -c ‘cd /home/文件路径/;python3 main.py’ exit 0 2、:wq!保存 3、创建rc-local.service文件(sudo vim /etc/systemd/system/rc-local.service)&#xf…

一次线上OOM问题的个人复盘

我们一个java服务上线后,偶尔会发生内存OOM(Out Of Memory)问题,但由于OOM导致服务不响应请求,健康检查多次不通过,最后部署平台kill了java进程,这导致定位这次OOM问题也变得困难起来。 最终,在多次review代…

shell实现数据库分库分表备份

#!/bin/bash2 3 backup/backup/db #存放数据库的位置4 nodatabasesinformation_schema|mycat|performance_schema|sys|mysql #要过滤的数据库5 6 mysql -uroot -predhat -e "show databases" -N | egrep -v "${nodatabases}" > dbname #将数据库存放在…

跨境出海企业,如何防范恶意退货欺诈

很多出海企业遭遇到过恶意退货事件。 2021年,某跨境商家在海外电商平台运营超过13年。有一次,有个海外买家买了一台二手的数码摄像机。在买家收到货后,却声称商品备在使用了45分钟之后便自动关机,且不能继续充电。该商家很肯定产…

裁员 10%,暴跌 14%,这家 IT 独角兽正在被抛弃!

流量一跌再跌,Stack Overflow 简直被狠狠地上了一课! 3 月份 Stack Overflow 的流量下降了近 14%。该公司的 CEO 压力空前,甚至昨天决定裁员 10%! 平均每月下降6%,上月直接跌了近14% 开发人员越来越多地从 AI 聊天机器…

Audio2Face

1:下载链接。 Omniverse Enterprise 许可和定价 | NVIDIA 2:安装。 audio2face ue插件 教程: 1:【青松微课堂】Audio2Face数字人工作流:软件的下载安装与UI介绍 【青松微课堂】Audio2Face数字人工作流:软件的下载安装与UI介绍_…

C++类——Vector容器的模拟实现

目录 一.vector类的成员变量: 二.Vector类的初始化方式: 三.vector的基本成员函数 四.vector类的增删查改: 指针失效问题: insert(): 代码解析: erase(): 代码解析: 所以erase()函数的正确写法:…

苹果iOS 16.6 RC发布:或为iPhone X/8系列养老版本

今天苹果向iPhone用户推送了iOS 16.6 RC更新(内部版本号:20G75),这是时隔两个月的首次更新。 按照惯例RC版基本不会有什么问题,会在最近一段时间内直接变成正式版,向所有用户推送。 需要注意的是,鉴于iOS 17正式版即将…

Linux系列---【Ubuntu 20.04安装KVM】

Ubuntu 20.04安装KVM 一、安装kvm 1.安装kvm sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils 2. 将当前用户添加至libvirt 、 kvm组 sudo adduser $USER libvirt sudo adduser $USER kvm 3.验证安装 virsh list --all 4.启动libvert sudo syst…

el-select和el-checkBox实现下拉菜单全选功能

el-select 和 el-checkbox 实现下拉菜单全选功能 示例代码&#xff1a; <el-selectpopper-class"select-container"v-model"ids"placeholder"请选择目标":multiple-limit"20"multiplefilterablecollapse-tagsclass"wd400&qu…