2

我有一个返回某些值的 webService。我知道这些价值观是什么。我想从 XML 中挑选它们,如果这些值是真的,我希望断言通过。想象一下,如果我得到这个结果,我的测试就通过了……我怎么能断言是这样呢?

     <BasicPersons>
           <id>4</id>
           <firstName>Patricia</firstName>
           <middleName>A</middleName>
           <lastName>Cluss</lastName>
        </BasicPersons>
        <BasicPersons>
           <id>5</id>
           <firstName>Benjamin</firstName>
           <middleName>L</middleName>
           <lastName>Handen</lastName>
        </BasicPersons>
        <BasicPersons>
           <id>6</id>
           <firstName>Ellen</firstName>
           <lastName>Frank</lastName>
        </BasicPersons>
        <BasicPersons>
4

2 回答 2

4

SoapUI 为从响应中提取 XML 元素并将其与预期数据进行比较的测试步骤提供 XPath 断言。

让我们以 XML 片段为例(我添加了根元素以使其格式正确)。首先在 SoapUI 中创建新Test Request步骤并用请求 XML 填充它。然后让我们检查响应是否包含 id=4 的 BasicPersons 元素和所有其他指定字段。XPath MatchProperty Content组中添加新断言。然后输入检查的表达式。这是我得到的:

boolean(/root/BasicPersons[id=4 and firstName="Patricia" and middleName="A" and lastName="Cluss"])

Expected Resulttrue如果 XPath 匹配 XML 响应,则应为。否则断言失败。

您可以创建多个断言以从您的响应中测试几个人。

于 2012-11-29T08:30:49.270 回答
1

一个 xpath 表达式,如...

((//*:BasicPersons[1]/*:middleName)='A' and (//*:BasicPersons[1]/*:firstName)='Patricia') and so on for other fields)

当所有条件都与响应匹配时,这将返回 TRUE。

于 2012-11-29T20:31:42.807 回答