写好的自动化测试脚本在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. image_pyradid和自己的一些训练经验总结

    这是训练的路锥.警示柱的数据,也就是小物体的.小物体有两个定义,一个是本身像素少,另一个是物体相对于整张图片的比例小 这是把图片缩小到600 proposal_target_layer选取用来训练的p ...

  2. Linux关于scp命令

    声明:本文主要转自https://www.2cto.com/os/201503/379474.html scp主要应用场景如下: (1)必要时,每个季度或者每月将数据由这台服务器传输到另外一台,不过前 ...

  3. 简单使用idea Spring Boot搭建项目

    第一步:使用Spring Initializr创建 第二步:项目配置 第三步:选择项目需要的依赖 第五步: ok 创建完成,修改仓库 maven{ url 'http://maven.aliyun.c ...

  4. P2916 [USACO08NOV]安慰奶牛Cheering up the Cow

    往奶牛里打气 题目评级不难. 感觉思路有值得借鉴的地方.(虽然少,毕竟积沙成塔吗qwq) 很容易看出来,是要求最小生成树的. 然后生成树的计算方式不一样. 我们考虑拼接(感觉大部分oi都可以使用类似的 ...

  5. EF Core中怎么实现自动更新实体的属性值到数据库

    我们在开发系统的时候,经常会遇到这种需求数据库表中的行被更新时需要自动更新某些列. 数据库 比如下面的Person表有一列UpdateTime,这列数据要求在行被更新后自动更新为系统的当前时间. Pe ...

  6. flask总结之session,websocket,上下文管理

    1.关于session flask是带有session的,它加密后存储在用户浏览器的cookie中,可以通过app.seesion_interface源码查看 from flask import Fl ...

  7. Oracle安装时出错,TNS-04612 :"XXX"的RHS 为空

    安装Oracle11g时到最后一步,一直出现 “Oracle Net Configuration Assistant 失败” 试了好多次一直都没成功,在日志文件中的找到这几个错误: TNS-04404 ...

  8. CGAffineTransform 视频旋转(转)

    记录下视频旋转 ////////////////////////////////////////////// - (void)test:(NSURL *)url transformUrl:(NSURL ...

  9. 复习宝典之MyBatis

    查看更多宝典,请点击<金三银四,你的专属面试宝典> 第五章:MyBatis MyBatis是一个可以自定义SQL.存储过程和高级映射的持久层框架. 1)创建sqlsession的流程 my ...

  10. 从tomcat下载文件的配置方法(很全呢)

    前几天我做的项目有个下载文件的东西让我苦恼了一下,上传的文件没有放到OSS服务器,而是直接放到tomcat内, 我就想做一个a标签直接下载的得了,结果点开一直都说没有该文件,我查了很多资料找到了如何配 ...