比较SoapUI中的响应以断言不区分大小写

时间:2012-09-03 12:17:27

标签: case soapui case-sensitive assertion

我们有一个Web服务,应该是个案不敏感的。因此,我们希望在搜索“foo”和“FOO”时获得相同的结果。创建一个比较两个不同字符串参数的响应的断言的最佳方法是什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

我根本不会比较这两个结果。您的测试可以测试您收到的响应。因此,如果您正在测试每个响应,那么您将验证响应是否匹配。

如果使用soapUI开源,我会创建两个完全相同的测试,除了数据,可能使用test case property。我的请求和响应断言是相同的,但是数据被提取出来。

如果我使用的是soapUI Pro,我可以使用一个使用数据表的测试用例,这很容易维护,但这需要花钱。

如果您想知道测试中断言的确切内容,您需要查看您的要求并确定哪些部分对断言很重要。如果答案是整个请求,则可以使用与整个soap信封匹配的简单xpath。

如果你必须,groovy就是答案,我认为这样的事情应该有效:

def rawRequest = context.expand( '${Teststepname#RawRequest#declare namespace soapenv=\'http://schemas.xmlsoap.org/soap/envelope/\'; //soapenv:Body[1]}' )
def rawRequest2 = context.expand( '${Teststepname2#RawRequest#declare namespace soapenv=\'http://schemas.xmlsoap.org/soap/envelope/\'; //soapenv:Body[1]}' )

if (rawRequest == rawRequest2) {
    assert true
    }
    else {
        assert false
    }