用于在JMeter中验证ResponseData的Groovy脚本

时间:2016-09-01 21:14:10

标签: groovy jmeter httpresponse

我已编写此脚本来验证字段类型,但我不确定它是否正确验证。此外,我想验证所有预期的字段是否可见。 这是我的BSF断言:

enter image description here

import groovy.json.*;

def response = prev.getResponseDataAsString();    
def json = new JsonSlurper().parseText(response)

def eventName = json.event_name
(eventName.getClass() == String)

def eventDate = json.event_start
(eventDate.getClass() == Date)

def attendeeLimit = json.attendee_limit
(attendeeLimit.getClass() == Integer)

def orderCount = json.order_count
(orderCount.getClass() == Integer)

def attendanceLimit = json.attendance_limit_on
(attendanceLimit.getClass() == String)

1 个答案:

答案 0 :(得分:0)

  1. 如果要检查JSON响应数据类型,请更改

    之类的行
    (eventName.getClass() == String)
    

    assert eventName instanceof String
    

    See Groovy Testing Guide了解详情

  2. 我建议将BSF Assertion切换到JSR223 Assertion,因为它能够编译脚本和缓存,因此您的脚本将运行得更好。有关全面解释和脚本编写最佳做法,请参阅Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!文章。

  3. JSON Path Assertion还提供JMeter Plugins,此主要用于检查回复内容