2

我是soapUI的新手,所以要掌握这个工具,所以任何帮助都将不胜感激..

我们配置了两个环境(DEV、Staging),每个环境都有不同的端点,这使我能够在两个环境中的任何一个上运行我的测试套件。

作为我的一个测试用例中请求的一部分,我需要提供一个“accountID”,但是这个 accountID 对于每个环境都是不同的,因此我想知道如何以及在哪里添加使我能够根据需要选择不同帐户 ID 的逻辑关于我在项目级别选择的环境?

请参阅所附的 accountID 文件图片,我目前必须手动更改,具体取决于我在哪个服务器上运行测试...

如果解决方案是基于 groovy 脚本的,那么您能否提供脚本应该是什么样子,因为我此时的脚本技能不是那么好..

干杯

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

2

将自定义属性添加到项目。您可以在不同的环境中重新定义此属性的值。在测试用例中,您可以访问此属性 ${#Project#property_name}

于 2013-05-24T05:10:56.300 回答
1

有时可能会有特定于测试用例的属性,类似的属性适用于特定的应用,并且在项目级别定义可能真的适用/有意义。

因此,可以在测试请求步骤中访问与项目属性类似的相同属性,如下所示

  • 测试用例级别属性 - ${#TestCase#TEST_CASE_PROPERTY_NAME}
  • 测试套件级别属性 - ${#TestSuite#TEST_SUITE_PROPERTY_NAME}
  • 项目级属性 - ${#Project#PROJECT_PROPERTY_NAME}

如果需要通过以下方式在groovy 脚本中访问相同的属性:

def propValueTC = testRunner.testCase.getPropertyValue('TEST_CASE_PROPERTY_NAME') 
def propValueTS = testRunner.testCase.testSuite.getPropertyValue('TEST_SUITE_PROPERTY_NAME') 
def propValueP = testRunner.testCase.testSuite.project.getPropertyValue('PROJECT_PROPERTY_NAME') 
//or
def propValueTC = context.expand('${#TestCase#TEST_CASE_PROPERTY_NAME}')
def propValueTS = context.expand('${#TestSuite#TEST_SUITE_PROPERTY_NAME}')
def propValueP = context.expand('${#Project#PROJECT_PROPERTY_NAME}')

同样,可以使用 setPropertyValue('property','value') 作为对应部分来获取

于 2015-01-16T23:07:02.750 回答