1

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

4

1 回答 1

1

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

如果使用soapUI开源,我会创建两个除了数据完全一样的测试,可能使用测试用例属性。我的请求和响应断言将是相同的,但数据被提取。

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

如果您想知道在测试中究竟要断言什么,则需要查看您的需求并决定要断言哪些部分是重要的。如果答案是整个请求,那么对整个肥皂信封进行简单的 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
    }
于 2012-09-04T03:20:49.083 回答