SoapUI中是如何断言的呢(三)

Xquery匹配声明

它使用Xquery表达式从target属性中选择内容。为了更好地理解XQuery,我们需要更大的响应XML,让我们导入另一个WSDL,如下所示:http : //www.webservicex.net/medicareSupplier.asmx? WSDL

步骤1:在现有项目上单击鼠标右键,然后选择“添加WSDL”。

步骤2:在现有项目上单击鼠标右键,然后选择“添加WSDL”。将其他选项保留为默认选项,然后单击“确定”按钮。

步骤3:所有操作如下所示。

步骤4:现在,让我们在为测试货币转换器创建的同一测试套件中添加一个测用例。

步骤5:输入测试用例的名称,然后单击“确定”按钮

步骤6:创建测试用例,如下所示。 

步骤7:添加 一个新的“ Soap Test Request”类型的测试步骤,如下所示。 

步骤8:输入测试步骤的名称。让我们说– Supplier_by_City这将更有意义单击“确定”。 

步骤9:选择我们要验证的工序。在这种情况下,它是“ MedicareSupplierSoap-> GetSupplierByCity”。点击“确定”。

步骤10:输入测试用例的名称,然后单击“确定”。

步骤11:将显示请求XML大纲,如下所示。

步骤12:现在,让我们查找“纽约”市的所有供应商信息。

为此,将以下行添加到您的代码。

<GetSupplierByCity xmlns =“ http://www.webservicex.net/”>

<城市>纽约</城市>

</ GetSupplierByCity>

以下网址中的WSDL- http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity

步骤13:执行测试后,我们收到以下响应  

步骤14:假设我们需要验证所有供应商编号。我们不能使用XPath断言,因为我们需要拥有数百个XPath断言。因此,在这种情况下不可避免地使用XQuery。

XQuery断言可以帮助我们验证一组本质上是重复的XML响应。  

步骤15:现在点击“添加断言”,

  1. 在这种情况下,选择“断言类别”-属性内容。

  2. 选择断言类型作为“ XQuery断言”

  3. 点击“添加”。

步骤16:类似于XPath断言,我们需要声明名称空间。

单击“声明”按钮以自动允许SOAP UI声明名称空间。单击声明按钮后,将向用户显示带有消息“从架构声明名称空间”的“弹出”消息。单击“是”继续进行如下所示。

  1. 注意:按下“声明按钮”后,您可能最终得到不同的URL作为名称空间声明,但是,实际的Web服务位置名称空间才是编码时要考虑的地方。

  2. 为了检索所有供应商编号,我们需要编写一个XPath查询,并将其放置在<SupplierNumber>和</ SupplierNumber>标记内。

  3. 单击“从当前选择”,将从当前响应中执行。

  4. 单击“从当前选择”后,将列出所有供应商编号。

  5. 点击“保存”。

  6. // Namespace declaration
    declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
    declare namespace ns1='http://www.webservicex.net/';
    declare namespace x = '';
    
    
    // Placing the result in Myresult Tags
    
    
    {
    // Iterating through all the supplier number 
    for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData
    
    
    //Return all the Supplier number within ‘SupplierNumber’ Tags.
    return {data($x/ns1:SupplierNumber)}
    }
    

步骤17:执行XQuery断言,并将最终结果显示在“断言”面板中,如下所示。现在,我们已经成功添加了一个Xquery断言,通过该断言我们已经验证了所有供应商编号信息。每次将请求发送到Web服务器时,都会将其与实际值进行比较。

注意:不会显示实际值。如果所有实际值均与期望值相同,则显示“ VALID”(有效),否则将显示“ Failed”(失败)。

SoapUI中是如何断言的呢(一)

SoapUI中是如何断言的呢(二)

使用CSV模块和Pandas在Python中读取和写入CSV文件

LeetCode 3题合集,砍瓜切菜刷三题不费劲

python全栈测试社区  

长按左侧二维码,识别关注

欢迎将文章分享到朋友圈
如需转载,请在后台回复“转载”获取授权

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试test

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值