写好的自动化测试脚本在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. canvas制作随机验证码

    看到人家彩色背景的验证码想测试一下: 创建html代码: <canvas id="myCanvas" width="200" height="1 ...

  2. 在Mac机器上给ITerm2配置lrzsz,便捷的传输文件到远程服务器上

    可直接参考文档:http://danqingdani.blog.163.com/blog/static/18609419520141201215750 需要使用到的github脚本:https://g ...

  3. Unity应用发布如何在本地查看Debug输出?

    http://blog.csdn.net/zfsr05255134/article/details/51867323

  4. Java之变量

    Java变量分为类变量.实例变量.局部变量: 类变量包括静态变量: 局部变量:就是本地变量,使用范围:方法,构造器(构造方法),块:销毁:程序执行完或退出立即销毁:局部变量没有默认值,声明的同时必须赋 ...

  5. idea 聚合项目里如果子项目引用不到父类的maven应用

    idea 聚合项目里如果子项目引用不到父类的maven应用,可以点看子类pom.xml文件,然后右键---->maven----->Reimport即可 点击右边子项目的maven---& ...

  6. CYQ MAction,子表 新增,删除,修改 集合

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  7. 剑指Offer-迭代

    1.大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0) 备注:斐波那契数列指的是这样一个数列从第3项开始,每一项都等于前两项之和. public st ...

  8. linux 操作系统之磁盘管理

    磁盘管理 存储设备:硬盘 , U盘 , 移动硬盘 , 光盘 , 软件. 组装一台电脑 无法被修改 df -h #查看磁盘分区的情况 , 可用的. 查看磁盘或者目录的内容 df “df” 常用的 “-i ...

  9. Anaconda下的python如何写入环境变量中

    Anaconda是一个非常好的python管理软件,实际使用起来要比直接用python自带的管理工具更好. 若需要将Anaconda下的python.exe添入环境变量中,需要如下设置 如上图所示,需 ...

  10. Python学习:7.文件操作

    文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...