Groovy SoapUI数据源始终引用最后一个值

Groovy SoapUI数据源始终引用最后一个值,groovy,soapui,Groovy,Soapui,在soapUI中,我通过groovy脚本中的这段代码引用数据源值 "${context.expand( '${DataSource#dpid}')}" 我可以在结果中看到替换的值,但它只给出最后一个值。我尝试过使用文件和网格数据源。两者的结果相同。如何配置数据源,使其从第一个值开始并迭代到最后一行。(我添加了一个数据循环步骤,并将目标作为groovy脚本)。谢谢 我认为您误解了SoapUI,尤其是数据源步骤的工作原理 创建/调试测试时,通常会在数据源步骤上按play,然后在弹出窗口中输入值。

在soapUI中,我通过groovy脚本中的这段代码引用数据源值

 "${context.expand( '${DataSource#dpid}')}"

我可以在结果中看到替换的值,但它只给出最后一个值。我尝试过使用文件和网格数据源。两者的结果相同。如何配置数据源,使其从第一个值开始并迭代到最后一行。(我添加了一个数据循环步骤,并将目标作为groovy脚本)。谢谢

我认为您误解了SoapUI,尤其是数据源步骤的工作原理

创建/调试测试时,通常会在数据源步骤上按play,然后在弹出窗口中输入值。这将检索指定数量的步骤,并在数据日志中向您显示这些步骤。当您“播放”测试中引用数据源值的后续步骤之一时,只会展开最后一个检索到的步骤


当您运行整个测试时,假设您正确设置了所有内容,测试将迭代所有值,一次迭代一个。运行测试时,可以看到soapui日志打印出消息,如“current row=X”。您还可以查看测试步骤的历史记录,或者插入一个步骤,将值打印到日志
log.info(context.expand('${DataSource#dpid}')
,您应该可以看到所有值。

什么版本的SoapUI?对于数据源步骤,您启用了哪些选项?@SiKing,SoaUI pro 5.0.0。在“为数据源设置选项”面板上,我选中了“运行时重新启动”和“扩展”。我一直在使用各种数据源,从来没有出现过问题。一定还有别的事。发布复制步骤!看:@SiKing,我在想我还能提供什么。如果我在groovy脚本中执行一个简单的
log.info(context.expand('${DataSource#dpid}'))
,它会打印出最后一个值。当我运行data source I时,我可以看到所有行都已从文本文件中提取,并且可以在“数据日志”窗口中看到它们,并显示消息“Got7 rows in 0ms”,这意味着可以使用数据。我用的方法正确吗?是需要添加到context.expand语句中的任何其他内容。