JMeter-HTTP请求采样器的动态结构

时间:2018-12-04 13:50:25

标签: jmeter

我正在尝试使用JMeter测试这样的HTTP请求:

cursor.execute(
    """SELECT * FROM my_table
    WHERE x = %s
    AND y NOT LIKE '%%abc%%'
    """, (user_input,)
)

如您所见,请求的结构是动态的:可以是一个房间或多个房间,可以是一个孩子或一个孩子。我想做这样的事情,但是我不知道如何用JMeter做到这一点:

<v2:hotelAvailability>        
     <identification username='${username}' password='${password}'/>       
     <checkIn>${checkin}</checkIn>
     <checkOut>${checkout}</checkOut>
     <roomCriterias>
         <!-- one or more repetition -->                           
         <room adult="${adult}">                   
             <children> 
                   <!-- zero or more repetition -->              
                   <child age="${childAge}"/>
             </children>
         </room>                        
    </roomCriterias>
</v2:hotelAvailability>

我还希望从csv文件中读取所有变量,例如$ {checkin}或$ {roomsNb}。这可能吗?

更具体地讲,如果roomsNb = 2大于请求,则将看起来像这样:

<v2:hotelAvailability>        
     <identification username='${username}' password='${password}'/>       
     <checkIn>${checkin}</checkIn>
     <checkOut>${checkout}</checkOut>
     <roomCriterias>
         foreach(${room}:${roomsNb})                           
             <room adult="${room.adult}">                   
               <children> 
                   foreach(child:${children})              
                     <child age="${child.childAge}"/>
                   end foreach
               </children>
            </room> 
        end foreach                       
    </roomCriterias>
</v2:hotelAvailability>

1 个答案:

答案 0 :(得分:0)

我已经为您的问题创建了解决方案。 通过下面的链接,让我知道它是否适合您。

https://funwithjmeter.blogspot.com/2018/12/handle-dynamic-body-in-jmeter.html