Jmeter 接口自动化执行报错 无法找到类或者类的方法
写好的自动化测试脚本在PC以及mac book 都执行正确,但是放到linux集成环境时就一直报错,报错类似如下
[jmeter] // Debug: eval: nameSpace = NameSpace: global (bsh.NameSpace@286291f6)
[jmeter] // Debug: Time to initialize interpreter: 1
[jmeter] // Debug: getResolvedMethod cache HIT: class org.apache.jmeter.threads.JMeterVariables - public java.lang.Object org.apache.jmeter.threads.JMeterVariables.getObject(java.lang.String)
[jmeter] // Debug: Invoking method (entry): public java.lang.Object org.apache.jmeter.threads.JMeterVariables.getObject(java.lang.String) with args:
[jmeter] // Debug: args[0] = productToursObj type = class java.lang.String
[jmeter] // Debug: Invoking method (after massaging values): public java.lang.Object org.apache.jmeter.threads.JMeterVariables.getObject(java.lang.String) with args:
[jmeter] // Debug: args[0] = productToursObj type = class java.lang.String
[jmeter] // Debug: getResolvedMethod cache HIT: class org.apache.jmeter.protocol.http.sampler.HTTPSampleResult - public java.lang.String org.apache.jmeter.samplers.SampleResult.getResponseDataAsString()
[jmeter] // Debug: Invoking method (entry): public java.lang.String org.apache.jmeter.samplers.SampleResult.getResponseDataAsString() with args:
[jmeter] // Debug: Invoking method (after massaging values): public java.lang.String org.apache.jmeter.samplers.SampleResult.getResponseDataAsString() with args:
[jmeter] // Debug: getResolvedMethod cache HIT: class com.tuniu.jmeter.view.tours.ProductTours - public com.tuniu.jmeter.view.tours.PageSaveOrder com.tuniu.jmeter.view.tours.ProductTours.getPageSaveOrder()
[jmeter] // Debug: Invoking method (entry): public com.tuniu.jmeter.view.tours.PageSaveOrder com.tuniu.jmeter.view.tours.ProductTours.getPageSaveOrder() with args:
[jmeter] // Debug: Invoking method (after massaging values): public com.tuniu.jmeter.view.tours.PageSaveOrder com.tuniu.jmeter.view.tours.ProductTours.getPageSaveOrder() with args:
[jmeter] // Debug: getResolvedMethod cache MISS: class com.tuniu.jmeter.view.tours.PageSaveOrder - setOccupyRespData
[jmeter] // Debug: Searching for method: setOccupyRespData( java.lang.String ) in 'com.tuniu.jmeter.view.tours.PageSaveOrder'
[jmeter] // Debug: Looking for most specific method: setOccupyRespData
[jmeter] Error in method invocation: Method setOccupyRespData( java.lang.String ) not found in class'com.tuniu.jmeter.view.tours.PageSaveOrder' : at Line: 14 : in file: inline evaluation of: ``import com.tuniu.jmeter.common.DataUtil; import com.tuniu.jmeter.common.HttpUtil . . . '' : .setOccupyRespData ( responseData )
[jmeter]
[jmeter] at bsh.BSHPrimarySuffix.doName(BSHPrimarySuffix.java:179)
[jmeter] at bsh.BSHPrimarySuffix.doSuffix(BSHPrimarySuffix.java:120)
[jmeter] at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:80)
[jmeter] at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
[jmeter] at bsh.Interpreter.eval(Interpreter.java:645)
[jmeter] at bsh.Interpreter.eval(Interpreter.java:739)
[jmeter] at bsh.Interpreter.eval(Interpreter.java:728)
[jmeter] at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
[jmeter] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[jmeter] at java.lang.reflect.Method.invoke(Method.java:498)
[jmeter] at org.apache.jmeter.util.BeanShellInterpreter.bshInvoke(BeanShellInterpreter.java:166)
[jmeter] at org.apache.jmeter.util.BeanShellInterpreter.eval(BeanShellInterpreter.java:189)
[jmeter] at org.apache.jmeter.util.BeanShellTestElement.processFileOrScript(BeanShellTestElement.java:151)
[jmeter] at org.apache.jmeter.extractor.BeanShellPostProcessor.process(BeanShellPostProcessor.java:64)
[jmeter] at org.apache.jmeter.threads.JMeterThread.runPostProcessors(JMeterThread.java:827)
[jmeter] at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:517)
[jmeter] at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:425)
[jmeter] at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:254)
[jmeter] at java.lang.Thread.run(Thread.java:748)
排除很久,分别测试了如下定位原因
1:机器设置的默认语言问题
2:jmx文件换行是否存在\r\n的情况,即不符合linux文件换行符的情况
3:jmeter版本不匹配
4:jre8大版本相同,但是小版本不同时,存在某些bug
5:。。。。
尝试了N种可能存在的问题,添加了N多的日志打印,定位了一个礼拜
终于柳暗花明又一村
发现有个配置项配置到了另外一个Jenkins项目的插件目录中去了
解决办法如下:
配置文件:user.properties
修改user.classpath配置项到我们项目的目录即可,如我这边的配置user.classpath=/root/jenkins/workspace/Automation_Interface_Pre_AllTestCase/plugin
总结:
做事情还是要细心,本质上是一个小问题,但是却定位了将近一个礼拜,之前也前前后后检查过好几次这个配置项,仍然没发现配置错了目录,实在不应该,还一直怀疑自己的代码是不是有不兼容的错误,奔溃ing,仅此记录下
Jmeter 接口自动化执行报错 无法找到类或者类的方法的更多相关文章
- TypeScript引入moment.js报错“无法找到moment模块”及解决方法
npm i moment下载moment完成后,在ts文件中引入 import * as moment from "moment"; 结果疯狂报错,未找到moment模块. 一开始 ...
- jmeter接口自动化和性能学习目录
目录黑色代表未完成的,绿色代表已完成的文章.目录的作用的为了引导和总结自己的学习,也是为了更好的分享给大家. 一.接口自动化 jmeter解决登录token获取 jmeter五种提取器 之 正则表达 ...
- 巨坑npm run dev 报错 终于找到正确答案 Error: EPERM: operation not permitted, open '/data/public/build/css/add.p
Windows10环境 npm run dev 报错 终于找到正确答案 Error: EPERM: operation not permitted, open '/data/public/build ...
- Jenkins+Ant+Jmeter接口自动化集成测试实例
Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...
- windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决
windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决 一.发现问题 由于tomcat内存溢出,在wind ...
- JMeter接口自动化发包与示例
JMeter接口自动化发包与示例 近期需要完成对于接口的测试,于是了解并简单做了个测试示例,看了看这款江湖上声名远播的强大的软件-Jmeter靠不靠谱. 官网:https://jmeter.apach ...
- oracle创建包后执行报错:object omgmig.test_package is invalid.
今天学习了一下oracle的包的写法,然后碰到这么个问题.包声明和包主体都正确,但是就是执行报错:object omgmig.test_package is invalid. 这是会报错的sql,看起 ...
- salt执行报错一例
执行报错: 查看服务端日志: 认证有问题 重新认证吧!!! minion端: [root@super66 ~]# cd /etc/salt/[root@super66 salt]# lsminion ...
- Ubuntu下sh *.sh使用==操作符执行报错
----<鸟哥的Linux私房菜--基础篇>学习笔记 ubuntu默认的sh是连接到dash,而我们写shell脚本时使用的时bash.bash和dash在一些方面是不兼容的.因此执行同一 ...
随机推荐
- if __name__ == "__main__"如何正确理解
粗略来讲,__name__是当前模块,当模块被直接运行时模块名为__main__.这句话的意思是,当模块被直接执行时,代码将运行,当模块是被导入时,代码不被运行 例如,执行one.py # file ...
- android:windowSoftInputMode属性详解 软键盘
android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一] ...
- 一点一点看JDK源码(五)java.util.ArrayList 后篇之sort与Comparator
一点一点看JDK源码(五)java.util.ArrayList 后篇之sort与Comparator liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JD ...
- Oracle恢复误删数据
1.先查出被删除的时间点: select * from flashback_transaction_query where table_name='表名'; 2.根据时间点恢复数据: insert i ...
- 12种开源Web安全扫描程序
转自:https://blog.csdn.net/wh211212/article/details/78620963 赛门铁克的一个有趣的报告显示,76%的被扫描网站有恶意软件 如果您使用的是Word ...
- RPM包、YUM、system初始化进程基本知识
- Linux CentOs下安装lamp
以home目录为例,进入/home cd /home 是否安装gcc与gcc-c++,没有则安装 yum -y install gcc gcc-c++ 一.安装Apache 下载httpd wget ...
- SpringBoot整合Eureka搭建微服务
1.创建一个services项目,添加三个子模块client(客户端).service(服务端).registry(注册中心) 1.1 创建一个services项目 1.2 添加pom.xml依赖 & ...
- 纯JS实现轮播图特效——详解
<div id="slider"> <div id="sliderImgs"> <img src="img/mi04.j ...
- mqtt使用二(集成到java代码中)
1.我采用的是springboot,首先pom文件中添加mqtt需要用到的依赖 <dependency> <groupId>org.springframework.boot&l ...