前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SoapUI中是如何断言的呢(三)

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

作者头像
用户7466307
发布2020-06-17 10:34:52
1.1K0
发布2020-06-17 10:34:52
举报

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.点击“保存”。

代码语言:javascript
复制
// 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”(失败)。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试test 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档