本文介绍了如何解析sample1的响应以在JMeter中创建新样本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用JMeter进行Web服务器的性能测试.我的测试用例如下:

I use JMeter to do performance test of web server. My test case is as following:

step1: send file update request to server.
step2: server will return some files URL as html response
step3: client need to create new request with the URL returned in step2,thus need to parse 
the response of step2.

我是JMeter的新手,并且不知道如何实现它.我基本上了解了JMeter的预处理器和后处理器,但是仍然不知道如何做.

I am new to JMeter, and do not know how to implement it. I basically learned JMeter about the pre-processor and post-processor, but still no clue about how to do.

推荐答案

好吧,让我们从第一步开始:

Ok let's start before the first step :

Right click -> Add -> Threads (Users) -> Thread Group

  • 现在是实际的第一步(如果使用REST):

Add -> Sampler -> Http Request

您在底部Send Files With the Request.您可以根据需要添加文件附件.

You have at the bottom part Send Files With the Request. You can add file attachment if that is what you asked.

  • 从服务器提取响应:

让我们假设您的回答是这样的:

Let's assume your response is this :

<Response>
  <name>StackOverflow.com</name>
  <url>http://stackoverflow.com/questions/11186423/how-to-parse-response-of-sample1-to-create-new-sample-in-jmeter</url>
</Response>

这是您的工作:

Right click on The http request you previously added (in step 1) -> Post Processors -> Xpath Extractor

Reference Name是要在其中存储值的变量的名称.我们将其命名为url.并且Xpath queryResponse/url//Response/url(如果您获得更多的响应标签).如果要第一个//Response[1]/url,依此类推.

Reference Name is the name of the variable in which you want to store the value. Let's name it url. And Xpath query is Response/url or //Response/url if you get more response tags. If you want the first one //Response[1]/url and so on..

  • 重复步骤1(复制/粘贴采样器并删除不再需要的Xpath Extractor),然后将Server Name or IP更改为${url},这是先前返回的值.
  • Repeat step 1 (copy/paste sampler and remove the Xpath Extractor you don't need it anymore), and change the Server Name or IP to ${url} which is the value previously returned.

Voila,你去了.让我知道您是否还有其他具体问题. Jmeter很有趣.

And Voila there you go. Let me know if you got more specific questions. Jmeter is fun.

Per Grace评论:

想提取https://192.168.100.46/updserver/download?action=signature_download&amp;token=&#xd;

响应数据不足:

<responseData class="java.lang.String">&lt;html&gt;&#xd;
&lt;body&gt;&#xd;
ERROR=0&#xd;
MSG=N/A&#xd;
FILELIST=1555;1340778737370;1526545487;&#xd;
VERSION=1.002&#xd;
URL=https://192.168.100.46/updserver/download?action=signature_download&amp;token=&#xd;
INTERVAL=0&#xd;
&lt;/body&gt;&#xd;
&lt;/html&gt;&#xd;
</responseData>

这应该很简单. Add a post processor -> Regular Expression Extractor并输入以下内容:

This should be pretty simple. Add a post processor -> Regular Expression Extractor and put the following :

Reference Name : url 
Regular Expression : (http[\S]+)
Template : $1$
Match No. (0 for Random): 1

因此,现在您有了url变量,可以在测试中进一步将其用作${url}.让我知道这是否适合您.我用虚拟采样器进行了测试,它对我有用.

So now you have url variable that you can use further in your test as ${url}. Let me know if that works for you. I tested with dummy sampler and it works for me.

这篇关于如何解析sample1的响应以在JMeter中创建新样本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-18 13:27