当使用Property Transfert
窗口将从第一个 Soap 请求的响应中获取的 XML 节点(带有子节点)传输到第二个 Soap 请求时,并且两个请求都在同一个 TestCase中,它的效果很好:
测试用例 1:
Source : [First Soap Request] Property : [Response]
declare namespace ns='http://xxx.com';
//ns:xxxxx[1]/ns:return[1]
-------------------------------------------
Target : [Second Soap Request] Property : [Request]
declare namespace ser='http://xxx.com';
//ser:xxxxx[1]/ser:someobject[1]
但是如果这两个请求在不同的 TestCases中,我想需要先将 XML 节点保存到TestSuite 属性,然后将此属性转移到新的 Soap 请求中:
测试用例 1:
Source : [First Soap Request] Property : [Response]
declare namespace ns='http://xxx.com';
//ns:xxxxx[1]/ns:return[1]
-------------------------------------------
Target : [TestSuite1] Property : [myVariableToTransfert]
测试用例 2:
Source : [TestSuite1] Property : [myVariableToTransfert]
-------------------------------------------
Target : [Second Soap Request] Property : [Request]
declare namespace ser='http://xxx.com';
//ser:xxxxx[1]/ser:someobject[1]
这不行!
当从 TestSuite 作为属性获取第二个请求时,似乎我无法在第二个请求中获得有效的 XML。有时该值为空,有时它包含在 CDATA 标记中或 XML 被实体化(例如,“<”是“<”)。我无法将值作为真正的 XML获得,就像两个请求都在同一个 TestCase 中一样!
我使用了“传输文本内容”、“实体化传输值”和“传输子节点”选项,但没有成功!
如何将 XML 节点从 TestCase 中的请求转移到第二个 TestCase 中的请求?