2017-03-06 290 views
0

我是SoapUI工具的新手。我使用SoapUI版本5.3.0我的應用程序有幾個RESTful API。我必須在如下JSON請求的形式發送到WebService的請求:使用SoapUI發送多個json請求(加載測試)

{ 
"app_key":"i8gAVDwcAq40n2kAv6Ox+w==", 
"targetDB":"100", 
"createNew": "true" 
} 

截至目前,我能夠在每一步發送一個請求,並如下得到一個滿意的答覆:

<StartDataExtractResult xmlns="http://schemas.datacontract.org/2004/07/AriaTechCore" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
<StatusCode>1</StatusCode> 
<StatusText>success</StatusText> 
<RequestNumber>100</RequestNumber> 
</StartDataExtractResult> 

我的問題是如何在一個循環中發送多個請求(50,100,500)請求到Web服務器,以1秒的間隔更改屬性「targetDB」(例如100,101,102 ...) ?

使用Soap UI 5.3.0。

任何幫助/指針都會非常有幫助。

這是我的項目看起來像: My Project Structure

回答

1

以下是你需要做的:

Create a test case通過以下步驟:

  • Groovy腳本測試步驟 - 這將產生一個具有所需邏輯的數字以生成targetDB
  • 請求測試步驟 - 您當前擁有的編號。但是這裏需要使用生成的數字。

Groovy腳本

def targetdb = ((context.expand('${#TestCase#TARGET_DB}') ?: 0) as Integer) + 1 
log.info "Target db for current request : ${targetdb}" 
context.testCase.setPropertyValue('TARGET_DB', targetdb.toString()) 

請求:請求改變爲能夠使用屬性擴展用產生target db

{ 
    "app_key":"i8gAVDwcAq40n2kAv6Ox+w==", 
    "targetDB":"${#TestCase#TARGET_DB}", 
    "createNew": "true" 
} 

的測試用例只需右鍵點擊,選擇New Load Test

負載測試有不同的策略。當然,它允許您設置測試需要執行的次數。

您可以找到更多詳細信息here

+0

感謝您的幫助。我試圖用各種可能的值來實現你所建議的groovy腳本,例如<< def targetdb =(context.expand('$ {#startDataExtract#TARGET_DB}')爲整數?:0)+ 1 log.info「當前請求的目標數據庫:$ {targetdb}」 context.testCase.setPropertyValue ('TARGET_DB',targetdb.toString())>>但每次我面對一個NumberFormat異常,如下所示:java.lang.NumberFormatException:對於輸入字符串:「」error at line:1' – DebanjanB

+0

@Dev,對不起,解決了問題並更新了答案。請嘗試。 – Rao

+0

@Dev,你試過更新的答案嗎? – Rao