【问题标题】:Compare responses in SoapUI in order to assert case insensitivity比较 SoapUI 中的响应以断言不区分大小写
【发布时间】:2012-09-03 12:17:26
【问题描述】:

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

【问题讨论】:

    标签: case soapui case-sensitive assertion


    【解决方案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
        }
    

    【讨论】:

    • 感谢您的回答。我明白你的意思了。但是由于我想测试不区分大小写,我必须比较完整的结果,但数据库数据可能会在我不知情的情况下发生变化。所以我不想硬编码结果。
    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 2012-04-18
    • 2013-03-11
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多