如何解析sample1的响应以在JMeter中创建新样本 [英] How to parse response of sample1 to create new sample in 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 query
是Response/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 theServer 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&token=
响应数据不足:
<responseData class="java.lang.String"><html>
<body>
ERROR=0
MSG=N/A
FILELIST=1555;1340778737370;1526545487;
VERSION=1.002
URL=https://192.168.100.46/updserver/download?action=signature_download&token=
INTERVAL=0
</body>
</html>
</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中创建新样本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!