【发布时间】:2017-11-18 00:09:48
【问题描述】:
我是第一次使用 RF,因为它得到了其他人的推荐,而且我被告知不需要 Python 经验。到目前为止,它进展得“顺利”,但目前仍停留在以下问题上。我正在使用 IBM 的 MDM 事务进行测试。
我有一种情况,我需要检索特定值以进行进一步测试,但在响应中您有一个重复元素。
例如:
<TCRMAdminContEquivBObj>
<AdminContEquivIdPK>443149752876966203</AdminContEquivIdPK>
<PartyId>445849752876959403</PartyId>
<AdminPartyId>13022017010</AdminPartyId>
<AdminSystemType>1</AdminSystemType>
</TCRMAdminContEquivBObj>
<TCRMAdminContEquivBObj>
<AdminContEquivIdPK>441549752876967603</AdminContEquivIdPK>
<PartyId>445849752876959403</PartyId>
<AdminPartyId>f205c1d7-ed84-4852-8d1d-8fcd092af282</AdminPartyId>
<AdminSystemType>36</AdminSystemType>
</TCRMAdminContEquivBObj>
我需要从响应中检索以下值:<AdminPartyId>13022017010</AdminPartyId>
但是 Robot Frameworks XML 库在使用 XPath 时会报错,因为它使用 Get Element Text 命令找到了 2 个同名元素。
是否可以通过添加第二个值来识别上述值来检索它?例如,使用<AdminSystemType> 作为第二个标识符。如果是这样,我需要怎么做?
变量:
${XmlFilePath} Resources/TransactionXML/addPerson.xml
${XmlResponsePath} Resources/TransactionXML/addpersonResponse.xml
获取元素文本:
source=${XmlResponsePath} xpath=.//TCRMPersonBObj/AdminPartyId.
我一直在寻找,但我发现的示例都涉及在这种情况下不适用的属性。
【问题讨论】:
-
您使用的完整机器人命令是什么?你在用什么不工作(发布你正在使用的 Xpath)
-
并获取元素文本 source=${XmlResponsePath} xpath=.//TCRMPersonBObj/AdminPartyId。这些是我使用的变量*** 变量 *** ${XmlFilePath} Resources/TransactionXML/addPerson.xml ${XmlResponsePath} Resources/TransactionXML/addpersonResponse.xml
-
请不要在评论区放代码。您可以edit您的问题以包含更多信息。
标签: python xml xpath robotframework