2013-10-30 39 views
2

我正在測試具有路徑參數的RESt服務。Jmeter中測試REST服務的可變路徑參數

/my-service/v1/Customer/order/{ordernumber} 

我想爲每個請求增加1。如何在Jmeter中實現這一點?直到現在我已經傳遞了一個固定路徑參數,因此我們的測試結果只有一個輸入參數。

/my-service/v1/Customer/order/5247710017785924 

回答

6

好點開始是把你的初始訂單價值爲User Defined Variable

考慮啓動順序爲「5247710017785924」你需要創建一個「訂單號碼」變量,設置它的值5247710017785924.

後每個請求您可以通過添加BeanShell的後處理您的HTTP取樣與下面的代碼增加變量值:

long ordernumber = Long.parseLong(vars.get("ordernumber")); 
ordernumber++; 
vars.put("ordernumber",String.valueOf(ordernumber)); 

而在你的HTTP取樣路徑設置爲訂單編號

/my-service/v1/Customer/order/${ordernumber} 
+0

這將是有趣的,知道什麼是更需要資源:櫃檯或BeanShell的腳本? – olyv

0

此問題與路徑參數相關,其中每個連續請求中訂單號的值遞增1。但是我遇到了一個情景,我得到了一個訂單號碼列表,我不得不請求這些訂單號碼。所以,我會回答這個問題,這個解決方案可以應用在這兩種情況下。

我所做的是把所有的參數路徑在CSV文件中,這樣的 -

/my-service/v1/Customer/order/5247710017785924 
/my-service/v1/Customer/order/5247710017785976 
/my-service/v1/Customer/order/5247710017785984 
/my-service/v1/Customer/order/5247710017785991 

然後,我通過在CSHTTPle路徑列表迭代並提出HTTP請求到服務器。要知道如何通過CSV文件迭代,並在的JMeter HTTP請求,你可以檢查此鏈接:

https://stackoverflow.com/a/47159022/5892553