2017-10-10 67 views
0

在SOAP UI中有一个REST API项目,其中包含测试套件中的20个测试用例。我想在每个测试步骤中添加一些标题值和sslkeystore。这是我的代码。在SOAP UI中使用Groovy在休息API中设置HTTP标头值

import com.eviware.soapui.support.types.StringToStringMap 

testCaseList = testSuite.getTestCases() 
     testCaseList.each 
      { 
      testCase = testSuite.getTestCaseByName(it.key) 
      restTestSteps = testCase.getTestStepsOfType(com.eviware.soapui.impl.wsdl.teststeps.RestTestRequestStep)//only RestTestRequest steps 

      restTestSteps.each 
       { 
       it.getRestRequest().setHttpHeader("TEST2") 
       it.testRequest.setSslKeystore("**************") 

       } 
      } 

上面的代码“TEST2”包含我想添加到每个测试用例的标题值。我在传出的ws-security配置下在ws-security配置中配置了TEST2。 但在上面的代码我收到以下错误:

groovy.lang.MissingMethodException: No signature of method: com.eviware.soapui.impl.wsdl.teststeps.RestTestRequestStep.getRestRequest() is applicable for argument types:() values: [] Possible solutions: getTestRequest(), getHttpRequest()

任何人帮助我,我请如何在每一个测试步骤添加标头值。

+0

'header'是可以添加到测试步骤的东西,但不适用于测试用例。顺便说一下,从上面的描述中不能确定“TEST2”在哪里(在哪个测试用例中)?它将如何首先获得该步骤的响应? – Rao

+0

@Rao 对不起,应该是测试步骤...我编辑我的帖子...这里TEST2是我设置标题值的名称,如用户名和密码,应该添加到每个测试步骤。从汤ui双击项目> Ws的安全配置>传出Ws的安全配置>点击+标志,我们可以添加WSS条目,如用户名和密码...所以最后我需要添加这两个值(用户名和密码)添加测试套件中的每个测试步骤。 –

+0

您使用ReadyAPI吗? – Rao

回答

1

如果要在每个测试步骤中添加标题值和sslkeystore,请将这些值添加为项目中的属性或自定义属性。然后在每个步骤中分配这些值。你是否愿意用groovy脚本来做到这一点?

+0

是的,这对我来说很好。 –