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

如何在Jmeter中测试两个HTTP请求而不影响单个请求的性能,以及如何只记录一个请求的结果?,jmeter,Jmeter,我正在使用名为“updateperson”的Jmeter对HTTP补丁方法请求进行性能测试。这里的情况是更新人员依赖于另一个名为“创建人员”的请求。CreatePerson将返回一个“personId”作为响应,我将使用该id发送更新请求。因此,我不能只使用updateperson请求进行性能测试。以下是我的Jmeter测试计划布局: 当我运行测试计划时,两个请求的性能都比单独测试createperson慢得多。我的问题是: 测试两个http请求是否会影响性能?如果是,如何进行 当creat

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

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

  • 测试两个http请求是否会影响性能?如果是,如何进行
  • 当createperson请求在后台运行时,是否有一种方法可以单独测试我的updateperson请求以获取personid

谢谢。

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

更新:-

使用正则表达式或任何后处理器获取用户ID,然后在同一采样器中使用BeanShell后处理器将输出写入csv:-

例:-

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

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

还有一件事需要捕获数据而不是代码。使用。在user.properties(bin文件夹下)文件的末尾添加一行:-
sample\u variables=CreatePerson

然后,使用简单数据编写器或查看结果侦听器将结果保存在csv中。它应该将数据写入csv。您可以从简单数据编写器/查看结果侦听器中取消选择所有不需要的数据。

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

更新:-

使用正则表达式或任何后处理器获取用户ID,然后在同一采样器中使用BeanShell后处理器将输出写入csv:-

例:-

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

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

还有一件事需要捕获数据而不是代码。使用。在user.properties(bin文件夹下)文件的末尾添加一行:-
sample\u variables=CreatePerson

然后,使用简单数据编写器或查看结果侦听器将结果保存在csv中。它应该将数据写入csv。您可以从简单数据编写器/查看结果侦听器中取消选择所有不需要的数据。

谢谢!我确实想过这个,但我只需要确保没有其他办法。如果我要这样做,我首先需要学习如何在csv文件中保存Personid,然后在运行Update Person性能测试时读取csv文件。再次感谢,谢谢!我确实想过这个,但我只需要确保没有其他办法。如果我要这样做,我首先需要学习如何在csv文件中保存Personid,然后在运行Update Person性能测试时读取csv文件。再次感谢。
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();