5

我可能会以完全错误的方式解决这个问题,但是如何将动态变量传递给 SoapUI 中同一测试套件中的一堆请求?

我的第一个测试步骤是一个 Groovy 脚本。我需要生成一个随机帐户名,然后在我的所有其他请求中使用它。还有大约 20 个其他请求。我最初以为我可以循环测试套件,但它不起作用。

这是我一开始的 groovy 脚本:

Random random = new Random()

def randUserAccount = "testAccount" 

int max = 100000
randnum = random.nextInt(max+10000)

randUserAccount += randnum

log.info "     Creating account: $randUserAccount"

然后在每个请求步骤中,我有这样的事情:

<ns:CreateAccountRequest>
    <accountID>${randUserAccount}</accountID>
...

或者

<ns:PurchaseRequest>
    <accountID>${randUserAccount}</accountID>
...

当我实际发送该帐户时,该帐户为空,当然这会在服务器端产生错误。我如何真正让变量在测试套件中的所有请求中持续存在?

提前感谢您的任何提示!

4

2 回答 2

9

我相信你可以使用上下文。您绝对可以在测试中的请求之间使用它,但我也认为它可以在套件中的测试之间使用。

context.setProperty("randUserAccount", randUserAccount)

然后使用您在实际请求中指定的语法。

如果这不起作用,请告诉我。您也可以使用“属性”来执行此操作,但需要做更多的工作。

于 2012-09-10T18:41:33.413 回答
-1

或者您可以在属性中创建一个变量,然后如上所述通过 set 属性设置值..

对于每个标签,只需右键单击并检查您的项目变量,它将自动插入代码..

希望有帮助

于 2013-12-19T15:12:24.417 回答