写好的自动化测试脚本在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 接口自动化执行报错 无法找到类或者类的方法的更多相关文章

  1. TypeScript引入moment.js报错“无法找到moment模块”及解决方法

    npm i moment下载moment完成后,在ts文件中引入 import * as moment from "moment"; 结果疯狂报错,未找到moment模块. 一开始 ...

  2. jmeter接口自动化和性能学习目录

     目录黑色代表未完成的,绿色代表已完成的文章.目录的作用的为了引导和总结自己的学习,也是为了更好的分享给大家. 一.接口自动化 jmeter解决登录token获取 jmeter五种提取器 之 正则表达 ...

  3. 巨坑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 ...

  4. Jenkins+Ant+Jmeter接口自动化集成测试实例

    Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...

  5. 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 ...

  6. JMeter接口自动化发包与示例

    JMeter接口自动化发包与示例 近期需要完成对于接口的测试,于是了解并简单做了个测试示例,看了看这款江湖上声名远播的强大的软件-Jmeter靠不靠谱. 官网:https://jmeter.apach ...

  7. oracle创建包后执行报错:object omgmig.test_package is invalid.

    今天学习了一下oracle的包的写法,然后碰到这么个问题.包声明和包主体都正确,但是就是执行报错:object omgmig.test_package is invalid. 这是会报错的sql,看起 ...

  8. salt执行报错一例

    执行报错: 查看服务端日志: 认证有问题 重新认证吧!!! minion端: [root@super66 ~]# cd /etc/salt/[root@super66 salt]# lsminion ...

  9. Ubuntu下sh *.sh使用==操作符执行报错

    ----<鸟哥的Linux私房菜--基础篇>学习笔记 ubuntu默认的sh是连接到dash,而我们写shell脚本时使用的时bash.bash和dash在一些方面是不兼容的.因此执行同一 ...

随机推荐

  1. C# 文件流FileStream 实现多媒体文件复制 StreamReader StreamWriter 读取写入文本

    #region 实现多媒体文件的复制 string source = @"F:\123\source.avi";//源文件路径 string target = @"F:\ ...

  2. [转]Python中下划线以及命名空间的意义

    Python 用下划线作为变量前缀和后缀指定特殊变量/方法. 主要存在四种情形 1. 1. object # public    2. __object__ # special, python sys ...

  3. 【题解】洛谷P1315 [NOIP2011TG] 观光公交(前缀和+贪心)

    次元传送门:洛谷P1315 思路 思路大概想到了 可是代码实现却没想到 所以参考题解了 D2T3的贪心果然有难度 我们考虑在每次用加速器有两种情况 到下一个点还需要等待:以后的时间就不再影响了 到下一 ...

  4. 阿里云云服务器Windows Server 2012 R2无法安装IIS等组件的解决办法

    Windows Server2012 R2数据中心版 不管安装什么组件,都显示存储空间不足,无法应用命令,错误代码0x80070008. 最终确认是服务器配置过低的原因,因为这个型号是低级别的配置,1 ...

  5. 使你的ActiveX控件执行时不弹出安全性提示(转载)

    我们编写一个ActiveX控件在IE中运行,一般会弹出一个安全提示,如何避免这种情况?下面是我在参考前人的文章后,总结出“在浏览器中执行时不弹出警告的ActiveX控件”的两种编写方法,予以备忘.注意 ...

  6. jquery固定位置浮动

    示例: <!DOCTYPE html> <html> <head> <title>test page</title> <script ...

  7. Java中集合随笔

    先上一张图:关于collection接口的 一.Collection中的常用功能: boolean add(Object e): 向集合中添加元素void clear():清空集合中所有元素boole ...

  8. CSS之元素

    CSSS书写位置 内嵌式 <head> <style type = "text/css"> **** </style> </head> ...

  9. 几行代码实现iOS摇一摇功能

    实现这个功能很简单,我们直接看代码 - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{ NSLog(@&quo ...

  10. RabbitMQ初学之踩坑记录

    1:账号或密码错误 com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused usi ...