JMeter:调用外部类和方法?

问题描述 投票:0回答:1

我有一个 Java 测试项目,我想在我的 JMeter 测试中导入它,以便我可以调用测试项目中的现有方法。我做了一些研究,了解到我可以为我的 Java 项目创建一个 jar,将 jar 复制到 JMETER_HOME/lib/ext 文件夹中,然后使用 BeanShell 处理器调用外部方法。

我正在尝试使用现有的测试项目,并调用它的方法来生成一个 JSON 负载。 我添加了一个 BeanShell 预处理器,并做了类似的事情:

import com.qa.base.services.user.User;

User user = User.generateSimpleUser();
        user.setField("username", "testUsername");
        user.setField("password", "testPassword");

vars.put("requestJsonPayload", user.toString());

这似乎不起作用,我得到一个错误:

错误 - jmeter.util.BeanShellInterpreter:调用 bsh 方法时出错: eval 源文件:内联评估:``import com.qa.base.services.user.User'':类型变量声明:方法 调用 User.generateSimpleUser()

有人知道我怎样才能实现我想做的事情吗?任何建议、评论、教程链接、示例都会有所帮助。提前致谢!

更多信息:

我还使用 BeanShell PostProcessor 获取我的一个请求的响应有效负载,删除有效负载中的一些字段,并构建一个新的有效负载,我可以将其作为另一个请求的请求有效负载发送。 BeanShell 后处理器可以正常工作。我为此使用了 JSONObject,我的代码如下所示:

import org.json.JSONObject;

String jsonString = prev.getResponseDataAsString();
print(jsonString);
JSONObject responseJSON = new JSONObject(jsonString);
responseJSON.remove("createTime");
responseJSON.remove("id");

vars.put("updatedJsonPayload",responseJSON.toString());
java jmeter beanshell
1个回答
0
投票

将包含“com.qa.base.services.user.User”及其所有依赖项的 jar 放在 jmeter/lib 文件夹中,它应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.