2017-10-04 186 views
1

通過以下腳本,我可以將數據/有效內容發送到我的POST請求。但是,值得注意的是從腳本運行發佈請求。在循環中需要發佈請求。如何使用Groovy腳本在SOAPUI中觸發REST請求測試步驟

def POSTForgivness = testRunner 
    .testCase 
    .getTestStepByName("postforgivness") 
    .getT‌​estRequest() 
POSTForgivness.setRequestContent(ForgivnessPayload) 

從評論其他信息:

  • 在每次循環我有POST請求不同的數據
  • 無法加載測試,但與不同的輸入數據POST請求
  • 已經得到了一些900 +記錄,能夠讀取和發送數據到發佈請求,但發佈請求在循環之後不會觸發/運行。
+0

//爲JSON文件中的每條記錄調用POST Forgivness API。 def POSTForgivness = testRunner.testCase.getTestStepByName(「postforgivness」)。getTestRequest() POSTForgivness.setRequestContent(ForgivnessPayload)} –

+0

請您編輯問題並解決這些問題嗎? 1.每次請求有沒有變化? 2.你想加載測試嗎?你可以更多地解釋你的用例。 – Rao

+0

1.是的,每次在循環中我有不同的數據發送請求 –

回答

1

在這裏你去:須藤代碼

  1. 得到測試步驟按名稱
  2. 設置爲下一步
  3. 運行步驟
  4. 需要禁用其餘的步驟中的每一件事情了新的要求由step1控制(這是groovy腳本步驟)
//Get the next step 
def nextStep = context.testCase.getTestStepByName("postforgivness") 
//Set the new request 
nextStep.httpRequest.requestContent = ForgivnessPayload 
//run next step 
nextStep.run(testRunner, context) 

通過上面的代碼循環直到完成數據

+0

非常感謝饒,它的工作完美 –

0

需要在循環中發送請求。

這聽起來像一個數據驅動的測試,而不是負載測試。

在「數據源」步驟和「數據源循環」步驟之間放置您的Post-forgiveness請求。

然後,您可以在數據源步驟中設置行的次數'循環'您的後寬恕步驟的次數。對於您設置的每一行,您都可以定義有效載荷以「噴」到您的請求中。

在SoapUI網站https://www.soapui.org/data-driven-tests/functional-tests.html上有優秀的文章。

+0

謝謝克里斯:我的數據源是一個json文件,我有從MySQL數據庫使用數據源的經驗,但從未使用JSON文件的數據源,所以我寫了一個腳本來閱讀json文件。我想找到一種方法來觸發從腳本 –

+0

的其餘請求OK,看在SoapUI,有幾個有效的數據源輸入,但沒有一個用於JSON。你能否創建一個電子表格,以便每行包含來自文件中一個JSON對象的數據?如果是這樣,使用起來非常簡單,因此您可以在電子表格中爲每行調用您的測試請求。 –

相關問題