当前位置: 首页 > 知识库问答 >
问题:

如何在不影响单个请求性能的情况下在Jmeter中测试两个HTTP请求,以及如何只记录一个请求的结果?

殳宸
2023-03-14

我正在使用名为“更新人员”的Jmete对HTTP补丁方法请求进行性能测试。这里的情况是更新人员依赖于另一个名为“创建人员”的请求。创建人员将返回一个“人员ID”作为响应,我将使用该ID发送更新请求。所以我不能仅使用更新人员请求进行性能测试。这是我的Jmete测试计划布局:

测试仪测试计划

当我运行测试计划时,两个请求的性能都比单独测试Create Person慢得多。我的问题是:

  • 测试两个超文本传输协议请求会影响性能吗?如果是,如何?
  • 有没有办法在后台运行Create Person请求以获取人员ID时单独测试我的Update Person请求?

谢谢你。

共有1个答案

白青青
2023-03-14

1.您可以首先单独运行create person,并在csv中获取所有必需的person id。为此,您可以使用后处理器,捕获并写入输出,或者直接从数据库中获取输出(如果有)。2.然后,使用csv数据集配置将创建的ID传递给来自csv的第二个请求。

更新:-

使用regex或任何后处理器获取UserId,然后在同一个采样器中使用BeanShell后处理器将输出写入csv:-

Ex:-

CreatePerson = vars.get("Create_Person");
f = new FileOutputStream("C:/Users/XXX/Users.csv", true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(CreatePerson);
f.close();

这也可以通过Groovy实现,以提高性能。我不是Groovy的专家,但你可以在这个网站上找到它。德米特里T已经多次提交了。

那么,阅读起来很容易。在采样器前或顶部添加“CSV数据集配置”以获取数据。列名需要作为变量传递,如${CreatePerson}

还有一件事可以捕获数据而不是代码。使用示例变量。在user.properties(bin文件夹下)文件末尾添加一行:-sample_variables=CreatePerson然后,使用简单的数据写入器或视图结果侦听器将结果保存在csv中。它应该将数据写入csv中。您可以从简单的数据写入器/视图结果侦听器中取消选择所有不需要的数据。

 类似资料:
  • 如何在JMETER中创建一个测试,该测试将: 总共提出100个请求,但是使 每4次请求站点A和 每5次请求站点B

  • 我正在基于Tomcat servlet和NIO创建服务。输入时有大的XML请求(约100 MB),通过HTML POST方法发送。我只想流前8千磅,然后立即发送响应到客户端。 当我尝试发送小请求(内容中只有几行)时,套接字工作正常。 2016-02-01 10:44:52 Http11NioProtocol[DEBUG]套接字:[org.apache.tomcat.util.net.NioEndp

  • 我正在尝试发送一个经过身份验证的请求,只需点击邮递员。 所以,我有一个名为“Oauth”的请求,我正在使用测试将令牌存储在局部变量中。 我现在要做的是,对于需要承载令牌的任何其他请求,自动运行Oauth请求(从预请求脚本)。 有没有一种方法可以通过单击邮递员按钮来获取访问令牌并发送经过身份验证的请求?

  • (Java版本8) 我需要在过滤器中处理请求正文。使用下面的代码,我读取了正文。 问题是如果请求正文发布的参数的内容类型为“Application/x-www-form-urlencoded”,那么这些参数在读取正文后将不可用。如果我不读取正文,它们可以使用request.getParameter()获取。 此外,我尝试使用以下代码包装请求并提供正文,这样解决方案的其余部分(例如servlet)就

  • 在Vertx WebClient中记录传出http请求和响应的最简单方法是什么。我正在寻找类似于httpserver LoggerHandler的东西,但接下来是webclient的输出请求。

  • 使用Netty 4.0.0.beta1,对我来说,将传入/传出HTTP流量记录到基于Netty的服务器的最佳方式是什么?我的管道当前为: 我尝试编写一个实现的处理程序,然后在方法中进行日志记录,这似乎对传入的请求很好,但这是推荐的方式吗? 当我试图实现时,我未能在方法中看到实际的FullHttpResponse对象。 建议?谢了!