如何合并SOAPUI中的属性

时间:2012-02-18 01:42:18

标签: soapui

我是SOAPUI的新手。
我要做的是使用一个属性并基于其值属性的其他属性。

实施例。 假设我有以下属性:
ENV = TEST
TESTUsername =testuser@mcompany.com
TESTPassword = 12345
测试网站 = http://test.company.com
PRODUserName =realuser@company.com
PRODPassword = 54321
PRODSite = http://www.company.com

现在,如果我将TEST值分配给ENV,我想在SOAPUI中的某个地方将所有以TEST开头的属性分配给适当的属性ex。 varUsername varPassword varSite 。如果我将PROD分配给ENV属性,则所有以PROD开头的属性都将分配给这些属性。

任何建议都非常受欢迎。

由于

2 个答案:

答案 0 :(得分:1)

据我所知,soapUI不可能做到开箱即用。我想您将需要使用执行此任务的Groovy脚本。提供属性位于项目级别,以下Groovy代码可能会解决您的问题。

def TEST_PREFIX = "TEST"
def PROD_PREFIX = "PROD"
def USERNAME_SUFFIX = "Username"
def PASSWORD_SUFFIX = "Password"

def propertyLevel = testRunner.testCase.testSuite.project
def env = context.expand( '${#Project#ENV}' )

if (env == TEST_PREFIX) {
    propertyLevel.setPropertyValue(TEST_PREFIX + USERNAME_SUFFIX, "testusername@mycompany.com")
    propertyLevel.setPropertyValue(TEST_PREFIX + PASSWORD_SUFFIX, "testPassword")
} else if (env == PROD_PREFIX) {
    propertyLevel.setPropertyValue(PROD_PREFIX + USERNAME_SUFFIX, "produsername@mycompany.com")
    propertyLevel.setPropertyValue(PROD_PREFIX + PASSWORD_SUFFIX, "prodPassword")
}

答案 1 :(得分:1)

您正在寻找的功能是环境处理,请参阅此处的教程:

http://www.soapui.org/Working-with-Projects/environment-handling-in-soapui.html

您可以设置'TEST'环境和'PROD'环境,并为每个用户名/密码/网站变量定义值。