2017-10-10 70 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

是的,這對我來說很好。 –