Groovy 如何使SoapUI中的脚本断言失败?

Groovy 如何使SoapUI中的脚本断言失败?,groovy,http-headers,soapui,assertions,Groovy,Http Headers,Soapui,Assertions,我试图让脚本断言失败,当一个变量有一个定义之外的值时。我的目标是:如果TestStep失败,将TestStep标记为红色。请注意,我对测试步骤使用的是脚本断言,而不是单独的Groovy脚本测试步骤。 我的脚本如下所示: httpResponseHeader = messageExchange.responseHeaders contentType = httpResponseHeader["Content-Type"] log.info("Content-Type: " + contentTyp

我试图让脚本断言失败,当一个变量有一个定义之外的值时。我的目标是:如果TestStep失败,将TestStep标记为红色。请注意,我对测试步骤使用的是脚本断言,而不是单独的Groovy脚本测试步骤。 我的脚本如下所示:

httpResponseHeader = messageExchange.responseHeaders
contentType = httpResponseHeader["Content-Type"]
log.info("Content-Type: " + contentType)

if (contentType != "[image/jpeg]"){
    log.info("ERROR! Response is not an image.")
    //Script Assertion should fail.
    //TestStep should be marked red.
} else {
    log.info("OK! ResponseType is an image.")
}
有没有办法让脚本断言根据属性失败?
我尝试使用getStatus()方法,但这仅适用于testrunner对象。不幸的是,testRunner对象不能在与此帖子相关的脚本断言中使用:

需要断言,以便测试根据条件自动失败或通过

def httpResponseHeader=messageExchange.responseHeaders
def contentType=httpResponseHeader[“内容类型”]
log.info(“内容类型:”+contentType)
断言contentType.get(0)=“图像/jpeg”,“内容类型不是图像”

编辑:之前注意了如何抛出错误,假设您已经准备好了其余的错误。现在根据输入更改了最后一行代码。

需要断言,以便测试根据条件自动失败或通过

def httpResponseHeader=messageExchange.responseHeaders
def contentType=httpResponseHeader[“内容类型”]
log.info(“内容类型:”+contentType)
断言contentType.get(0)=“图像/jpeg”,“内容类型不是图像”

编辑:之前注意了如何抛出错误,假设您已经准备好了其余的错误。现在根据输入更改了最后一行代码。

很好。如果(contentType.get(0)!=“image/jpeg”){throw new Error('Content Type不是图像')},也可以通过另一种方式使测试失败。但这是在不同的上下文中使用的,例如,您希望在第一次失败时不停止执行多个检查,并在脚本结束时使其失败。但assert在第一次失败时停止,而不查看其余部分。因此,使用if条件而不是断言,如果上述任何一个ifs失败,则在结束时抛出错误。希望这有帮助。如果(contentType.get(0)!=“image/jpeg”){throw new Error('Content Type不是图像')},也可以通过另一种方式使测试失败。但这是在不同的上下文中使用的,例如,您希望在第一次失败时不停止执行多个检查,并在脚本结束时使其失败。但assert在第一次失败时停止,而不查看其余部分。因此,使用if条件而不是断言,如果上述任何一个ifs失败,则在结束时抛出错误。希望这有帮助。