使用 SOAPUI 将自定义 属性 从环境传递到 JSON

Passing custom property from environment into JSON using SOAPUI

我正在使用就绪! API 试图将自定义变量从环境传递到 Soap UI NG 测试用例之一,但是当我设置 属性 扩展时,没有传递任何值。

我有以下 JSON 结构:

{
    "password":"password",
    "orgName":"${#Env#orgname}",
    "email":"someuser@notrealdomain.com"
}

当我 运行 这种情况时,orgname 返回为空字符串,就像这样

{
    "password":"password",
    "orgName":"",
    "email":"someuser@someorg.com"
}

考虑到也许我必须将变量移动到 TestSuite 或其他东西中,我将自定义 属性 添加到 TestSuite 中并进行了相同的扩展,但同样没有传递任何值。

这可以吗?还是有另一种方法来传递环境自定义 属性?

更新

这个问题的答案相对简单,我可能在文档中遗漏了它。

当您将自定义 属性 添加到环境时,它将成为项目的自定义 属性。因此,如果您需要获取环境自定义 属性 值,只需执行 ${#Project#<env_cust_prop>}

此脚本获取环境变量。

def env = System.getenv()
//Print all the environment variables.

env.each{
log.info it
}
// You can also access the specific variable, say 'username', as show below
String user= env['USERNAME']
//[Code from http://www.mytechtoday.com/2009/01/read-environment-variables-with-groovy.html]

您需要在测试用例中添加activity类型的属性

为测试用例创建自定义变量,并在之前的脚本中添加这一行。

testRunner.testCase.testSteps['PROPERTIES_NAME'].setPropertyValue('VARIABLE_NAME',VARIABLE_VALUE);

这个问题的答案相对简单,我可能在文档中遗漏了它。

当您将自定义 属性 添加到环境时,它将成为项目的自定义 属性。因此,如果您需要获取环境自定义 属性 值,只需执行 ${#Project#<env_cust_prop>}