SOAPUI执行测试用例后Groovy脚本步骤被覆盖是Bug还是特性?
问题结论
这不属于SoapUI的软件Bug,是错误配置Property Transfer步骤导致的预期行为。
原因说明
- SoapUI中所有测试步骤的内置属性都支持通过Property Transfer步骤写入,Groovy Script步骤的
script属性本身就是可修改的内置属性,作用就是存储该步骤的代码内容。 - 你给出的7步测试流程中,最后两步是REST调用、Property Transfer,大概率是第7步的Property Transfer规则配置错误:目标步骤选了Groovy Script步骤,目标属性选了内置的
script属性,执行时自然会把前一步REST调用的返回内容写入Groovy Script的代码字段,覆盖原有内容。
修复方案
打开第7步的Property Transfer配置,逐一检查所有转移规则的Target项:
- 若你的需求是把REST返回值存入自定义属性,目标步骤应该选择对应的
Property步骤,目标属性选择你提前定义好的自定义属性即可,不要指向Groovy Script步骤的内置script属性。 - 只有当你有动态修改Groovy Script执行代码的特殊需求时,才需要把转移目标设为
script属性,常规测试流程不需要这种配置。
补充提醒:如果你使用了通配符、同名属性批量匹配的转移规则,一定要添加目标步骤范围限制,避免误匹配到Groovy Script、REST请求等步骤的内置同名属性,导致内容被意外覆盖。
内容的提问来源于stack exchange,提问作者Declan
相关产品推荐
相关产品推荐

