如何使用 groovy 更改端点 url

How to change the endpoint url using groovy

我在测试套件级别使用了以下内容

result = com.eviware.soapui.support.UISupport.prompt("Please select the enviornment", "Environment", ['SIT', 'UAT']);

在测试套件 运行 上,我得到了 select 和 属性 的下拉列表。现在在 selecting 属性 之后,它必须为所有测试用例设置终点 URL 并执行 运行.

谢谢

每个 testStep 都有一个 endpoint 属性,这是为此 testStep 调用的端点 url。如果您想更改 testSuite 中每个 testCase 内每个 testStep 的所有端点,您可以循环遍历每个更改此 属性 的端点。为此,您可以使用 groovy testStep 和以下代码:

def result = com.eviware.soapui.support.UISupport.prompt("Please select the enviornment", "Environment", ['SIT', 'UAT'])
def testcases = testRunner.testCase.testSuite.getTestCaseList()
// for all testCases in your test suite...
testcases.each { testcase ->
    // for all testStep inside testCase...
    def teststeps = testcase.getTestStepList() 
    teststeps.each { teststep ->
        teststep.setPropertyValue('endpoint','http://yourUrl')
    }
}

如果您希望在 testSuite 上的 Setup script 内做同样的事情,您必须稍微更改上面的代码,因为上下文中没有 testrunner(而是您可以直接使用testSuite var)。所以如果你想把代码放在Setup script里面而不是放在groovytestStep里面你可以使用下面的代码:

def result = com.eviware.soapui.support.UISupport.prompt("Please select the enviornment", "Environment", ['SIT', 'UAT'])
def testcases = testSuite.getTestCaseList()
testcases.each { testcase ->
    def teststeps = testcase.getTestStepList() 
    teststeps.each { teststep ->
        teststep.setPropertyValue('endpoint','http://yourUrl')
    }
}

希望这对您有所帮助,

您还可以像这样设置所有 endpoint 属性,加上 usernamepassword

  • 打开界面查看器(右键点击界面)
  • 转到 'Service Endpoints' 选项卡
  • Select 您要用于测试会话的端点
  • 单击“分配”,然后select要将此端点分配到何处。

测试愉快!