【问题标题】:How do you insert the same random variable into multiple soapui testcase requests?如何将相同的随机变量插入到多个soapui 测试用例请求中?
【发布时间】:2012-09-03 14:51:29
【问题描述】:

我可能会以完全错误的方式处理此问题,但是如何在 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>
...

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

提前感谢任何提示!

【问题讨论】:

    标签: groovy soapui test-suite dynamic-variables


    【解决方案1】:

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

    context.setProperty("randUserAccount", randUserAccount)
    

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

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

    【讨论】:

    • 太棒了!正是我需要的:) 谢谢!
    • 这是 Soap UI Pro 还是免费版?我试过了,但是当我尝试访问它时,请求在标签之间包含一个空值。例如,负载中的 ${value} 将在请求中具有 .
    • 因为它是 groovy,它应该只工作 context.randUserAccount = randUserAccount
    【解决方案2】:

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

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      • 2018-05-25
      • 2021-03-23
      相关资源
      最近更新 更多