【发布时间】:2012-10-16 00:05:55
【问题描述】:
当使用Property Transfert 窗口将从第一个 Soap 请求的响应中获取的 XML 节点(带有子节点)传输到第二个 Soap 请求时,并且两个请求在同一个测试用例中,效果很好:
测试用例 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属性,然后再把这个属性传递给新的肥皂请求:
测试用例 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 被实体化(例如,“real XML 的值,就像两个请求都在同一个 TestCase 中时一样!
我使用了“传输文本内容”、“实体化传输值”和“传输子节点”选项,但没有成功!
如何将 XML 节点从 TestCase 中的请求转移到第二个 TestCase 中的请求?
【问题讨论】: