使用 Groovy 在 SoapUI 中创建项目属性

Using Groovy create Project properties in SoapUI

我当前的 SoapUI 工作区中有 50 多个测试。我需要在所有这些测试中添加一个新的项目级参数。有没有一种方法可以使用 SoapUI 中的 groovy 控制台来执行此操作?

例如:

  testRunner.testCase.testSuite.project.setPropertyValue( "SuperMan",("SuperMan"));

我可以 运行 在当前工作项目中创建一个 属性。 有没有一种方法可以在我当前工作区的所有项目下创建它?

提前致谢。

是的,我们可以做到,但这有点棘手。

方法:

  1. 在 soapui 中创建一个空的通用项目,添加空的测试套件,添加空的测试用例
  2. 在测试用例中添加一个groovy脚本步骤
  3. 现在粘贴这个groovy代码

    for(project in com.eviware.soapui.SoapUI.workspace.projectList) {    
     if(project.open && project.name != testRunner.testCase.testSuite.project.name){
           project.setPropertyValue( "TestProperty","TestValue");    
     }    
    }
    

运行 groovy 步骤,您将在项目级别添加 属性。

如果这解决了您的问题,请标记为正确回复。

使用您的 testRunner 访问权限,您只需要多一级 workspace。从这里您可以访问 projects 地图并遍历每个项目添加 属性:

testRunner.testCase.testSuite.project.workspace.projects.each{ key, proj ->
    proj.setPropertyValue('superman','superman')
}

此代码不会在工作区中的已关闭项目上添加 属性,但访问它不会失败。

或者@Rao 在他的评论中建议可以使用默认 it 对象迭代器并访问 value 而不是在 each 上定义 key, proj ->:

testRunner.testCase.testSuite.project.workspace.projects.each{ 
    it.value.setPropertyValue('superman','superman')
}

为了清楚起见,我更喜欢第一种方法。

希望对您有所帮助,