使用Groovy在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')
}

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

希望有帮助,

最新更新