如何在SoapUI中比较两种方法的响应

如何在SoapUI中比较两种方法的响应,soap,groovy,soapui,Soap,Groovy,Soapui,我正在SopaUI免费版本的两个环境(Dev和UAT)上执行一个SOPA方法,希望比较响应以检查数据不匹配,请建议任何相同的解决方案 回应格式- <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <GetAccountsResponse xmlns="http://services.multichoice.co.za/SelfCare">

我正在SopaUI免费版本的两个环境(Dev和UAT)上执行一个SOPA方法,希望比较响应以检查数据不匹配,请建议任何相同的解决方案

回应格式-

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <GetAccountsResponse xmlns="http://services.multichoice.co.za/SelfCare">
         <GetAccountsResult xmlns:a="http://datacontracts.multichoice.co.za/SelfCare" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <a:Account>
               <a:afterDue121To150>0</a:afterDue121To150>
               <a:afterDue151To180>0</a:afterDue151To180>
               <a:afterDue180UpField>0</a:afterDue180UpField>
               <a:afterDue1To30Field>0</a:afterDue1To30Field>
               <a:afterDue31To60Field>0</a:afterDue31To60Field>
               <a:afterDue61To90Field>0</a:afterDue61To90Field>
               <a:afterDue91To120Field>0</a:afterDue91To120Field>
               <a:currency>NGN</a:currency>
               <a:currentAmount>0</a:currentAmount>
               <a:defaultCurrencytotalBalance>0</a:defaultCurrencytotalBalance>
               <a:defaultCuurencyCode>NGN</a:defaultCuurencyCode>
               <a:invoicePeriod>1</a:invoicePeriod>
               <a:isPrimary>true</a:isPrimary>
               <a:lastInvoiceAmount>0</a:lastInvoiceAmount>
               <a:lastInvoiceDate>2017-02-19T15:52:54</a:lastInvoiceDate>
               <a:methodOfPayment>Cash</a:methodOfPayment>
               <a:number>3112</a:number>
               <a:paymentDueDate>2016-11-10T00:00:00</a:paymentDueDate>
               <a:segmentation>Customer Segment N</a:segmentation>
               <a:status>Suspended</a:status>
               <a:totalBalance>0</a:totalBalance>
               <a:type>Ges</a:type>
            </a:Account>
         </GetAccountsResult>
      </GetAccountsResponse>
   </s:Body>
</s:Envelope>

0
0
0
0
0
0
0
下一代网络
0
0
下一代网络
1.
真的
0
2017-02-19T15:52:54
现金
3112
2016-11-10T00:00:00
客户群
暂停的
0
Ges

//步骤1:使用
ReqProps=testRunner.testCase.getTestStepByName(“与soapui套件中的stepname相同的stepname”)在soap请求中设置开发环境
ReqProps.setPropertyValue(“端点”https://dev:endpoint“”
//步骤2:运行DEV步骤并将响应保存在某个变量
testRunner.runTestStepByName(“soapui套件中的stepname”)中
DEvResponse=ReqProps.getPropertyValue(“响应”)

//步骤3:对UAT环境重复相同的步骤,并在可变UAT响应中进行响应 //步骤4:使用'DetailedDiff diffInRes=new DetailedDiff(new Diff(DEVRes,UATRes))比较2个响应

列表差异数组=diffInRes.getAllDifferences()`


//步骤5.获取数组大小以验证XMLs是否匹配。如果XMLs不匹配,则可以打印差异并从数组“DifferenceArray”获取所有不匹配项

如果没有您所拥有的数据以及您想要比较的确切内容,这是很困难的。编辑问题并添加所需的详细信息。看看这是否有帮助-比较环境时会想到一个问题。检索到的测试数据是否完全相同?与其比较来自环境的响应,我会联系来源和IC与数据库中的数据进行比较。在SoapUI中有一个JDBC步骤可以做到这一点。DB必须是可访问的,然后才能正常运行。如果我真的需要在两个环境中验证数据,我通常将此视为一个准备步骤。我会要求开发人员划分数据集。我对为什么要通过serv跨环境验证数据感到困惑和好奇ice.Requirement与数据同步相关,这就是为什么需要比较两个环境的数据以检查数据是否在数据库之间正确同步。在执行'DetailedDiff diffInRes=new DetailedDiff(new Diff(DEVRes,UATRes))时,List differencesArray=diffInRes.getAllDifferences()'code getting'无法解析类DetailedDiff'