How to parse response of sample1 to create new sample in JMeter

后端 未结 2 1347
渐次进展
渐次进展 2021-01-01 21:23

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 fi         


        
2条回答
  •  孤独总比滥情好
    2021-01-01 21:46

    Ok let's start before the first step :

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

    • Now the actual first step (If you use REST) :

    Add -> Sampler -> Http Request

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

    • Extracting response from the server :

    Let's assume your response is this :

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

    Here is what you do :

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

    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..

    • 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.

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

    Per Grace comment :

    Wants to extract https://192.168.100.46/updserver/download?action=signature_download&token=

    Out of response data :

    <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>
    
    

    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
    

    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.

提交回复
热议问题