[英]Variable Path Param for REST service testing in Jmeter
我正在測試具有路徑參數的 REST 服務。
/my-service/v1/Customer/order/{ordernumber}
我想為每個請求將數字增加 1。 如何在 Jmeter 中實現這一點? 直到現在我一直在傳遞一個固定的路徑參數,因此我們的測試結果只有一個輸入參數。
/my-service/v1/Customer/order/5247710017785924
開始時最好將您的初始訂單值放入用戶定義的變量中
給定起始訂單為“5247710017785924”,您需要創建一個“ordernumber”變量並將其值設置為5247710017785924。
在每個請求之后,您可以通過使用以下代碼將 BeanShell 后處理器添加到 HTTP 采樣器來增加變量值:
long ordernumber = Long.parseLong(vars.get("ordernumber"));
ordernumber++;
vars.put("ordernumber",String.valueOf(ordernumber));
並將您的 HTTP Sampler 路徑中的 ordernumber 設置為
/my-service/v1/Customer/order/${ordernumber}
使用 JMeter Counter組件來增加變量。
這個問題與路徑參數有關,其中訂單號的值在每個連續請求中遞增 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 請求,您可以查看此鏈接:
我使用了一個BeanShell PreProcessor來生成一個 id
vars.put("id", UUID.randomUUID().toString());
然后使用路徑Http Request
/api/v1/event/${id}/
賓果游戲!!!
您可以使用 JMeter 計數器:
然后您可以使用導出的變量名稱作為路徑參數:/my-service/v1/Customer/order/${ordernumber}
參考建議使用用戶參數將客戶或訂單ID放入API的貢獻者。 這是有效的,但除非有一種批量加載用戶的方法,否則這對於大量數據是不可擴展的。 如果您只想要一些(最多可能十個),因為它們都必須手動輸入,這很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.