0

我有一个名为RequestID的标头,它的值是我在下面的 groovy 脚本中生成的 UUID:

import static java.util.UUID.randomUUID
import com.eviware.soapui.support.types.StringToStringMap  

def uuid = randomUUID() as String
def headers = new StringToStringMap()

headers.put("RequestID", uuid)
testRunner.testCase.getTestStepByName("Get Username").testRequest.setRequestHeaders(headers)

我还有一个名为“获取用户名”的 REST 请求,该请求通过数据源循环多次调用。我的 groovy 脚本似乎只为整个循环生成一个 UUID,而不是为每次命中生成一个新的 UUID。我的脚本中是否遗漏了某些内容,或者步骤的顺序有误?我还在我的数据源步骤中使用了一个名为SSN的网格来将数据输入到请求中。

这是我在 SOAPUI 中的步骤顺序:

  • 社会保障号
  • Groovy 脚本
  • 获取用户名,
  • 数据源循环(数据源步骤:SSN,目标步骤:获取用户名)

基本上每次发送新请求时,都应该有一个新的requestid。如果这是有道理的。

4

1 回答 1

1

当测试到达数据源循环时,它会从数据源获取新数据并执行目标测试步骤(在您的情况下 - 获取用户名)。所以它只执行一次 Groovy 脚本。

将 DataSource 循环中的 Target 测试步骤更改为 Groovy Script 测试步骤。

于 2017-03-29T14:31:30.220 回答