如何在SoapUI中跨测试用例/套件传递Property Transfer步骤值(无需Groovy脚本)
嘿,这问题我熟!不用Groovy脚本也能在SoapUI的测试用例之间传递Property Transfer的值,核心就是把值存到测试套件级或者全局级的公共属性里,让其他测试用例能直接调用。具体操作看下面:
1. 把提取的值存到共享属性中
先处理源测试用例的Property Transfer步骤:
- 打开你的源测试用例,找到已配置的Property Transfer步骤,双击进入编辑界面
- 在Transfer区域的Target部分,别选当前测试用例的属性,而是切换到「Test Suite」或者「Global」选项:
- 选「Test Suite」:值只能被同一测试套件下的其他测试用例访问
- 选「Global」:值能被整个SoapUI项目里的所有测试用例/套件访问
- 给目标属性起个清晰好记的名字(比如
OrderId_Shared),然后确认你的提取规则(XPath/JSONPath等)是正确的,最后保存这个Transfer步骤
2. 在目标测试用例中引用共享值
接下来在需要用到这个值的测试用例里配置:
- 打开目标测试用例的请求步骤,找到需要插入值的参数位置
- 直接用SoapUI的属性引用语法:
- 测试套件级属性:
${#TestSuite#OrderId_Shared} - 全局级属性:
${#Global#OrderId_Shared}
- 测试套件级属性:
- 保存请求,运行测试时,只要源测试用例先执行,目标请求就能自动获取到传递过来的值了
几个实用小提示
- 执行顺序很重要:一定要确保源测试用例在目标测试用例之前运行,不然目标用例会拿不到值。你可以在测试套件的「Test Case List」里拖拽调整顺序,或者用Test Runner的执行流程设置来控制
- 避免属性名冲突:如果项目里有很多共享属性,建议给属性名加个前缀(比如
PaymentSuite_UserId),防止不同模块的属性重名覆盖 - 验证值是否传递成功:可以在测试套件/全局的「Properties」标签页里查看属性值,确认Transfer步骤是否正确执行
内容的提问来源于stack exchange,提问作者Ramanan Shanmugam
相关产品推荐
相关产品推荐

