Jmeter 場景設計

2022-02-14 09:43:13 字數 2075 閱讀 6168

今天的業務場景是:

1.管理員登入後台---登入成功後新增乙個某型別的產品---產品新增成功後,再為該產品新增10個排期。

2.管理員登入後台--登入成功後新增多個不同型別產品---產品全部新增完成後,依次為所有產品新增10個排期。

這是兩種不同的場景,下面是兩個場景的實現方法:

場景一:

1.登入模組,登入模組比較簡單,不做記錄

要求登入一次之後,進行其他操作。因此登入模組放到了僅一次控制器中

2.增加產品

產品型別分為4中,不同型別對應不同的protypeid。將4種不同型別的產品id放到文字檔案中。

產品名字與型別一樣,也可以使用讀取檔案的方式引數化。如果對產品名稱沒有具體要求的話,直接使用隨機字串的函式生成也是可以的。

在新增產品的請求中,用函式來一次讀取該檔案中的引數(效果就是:第一次迭代新增的是a型別的產品,第二次迭代新增的是b型別的產品,依次迴圈類推)

該函式在使用時要注意,必須寫為:$$,這樣寫的含義是,先讀取到第乙個值,之後在一次向下讀取。如果只寫讀取下乙個的函式是讀不到值的

在請求產品之前,會有乙個新增的介面。就是我們平時使用的軟體中,點選上傳之後選擇,此時會獲得乙個的url位址(一般上傳的都是這樣的流程)。這時候是post的檔案,如果使用抓包軟體或者錄製,由於是二級制的,得到的都是亂碼。所以這裡的引數,手動新增一下就可以了。

再用乙個正則把獲取到的url 獲取到就可以了。

這樣就完成了新增產品的場景。

之後需要為該產品新增排期,前提是先找到這個產品的id。由於產品新增成功後是不會返回id回來的,所以需要去資料庫中獲取到這個id ,需要乙個jdbc請求

3.增加排期

這裡post的請求中,引數就需要之前資料庫中查出來的id了,直接使用即可。

由於要求每個產品增加10個排期,因此新增迴圈控制器,設定迴圈次數為10 就可以了。

以上就完成了第乙個場景的模擬。

場景二:

該場景與場景一的不同在於:要產品新增完成之後,再對每個產品新增多個排期。

前面登入和新增產品的步驟基本是一致的(該場景需要把新增產品的步驟放在迴圈控制器中),下面直接說新增排期的問題。

這時,我們的引數id是這樣的:id_1=6994a163-5d29-4fcc-a19b-752f389c76d6,id_2=....等等

idrs是這樣的:idrs=[, ..等等.]

可以通過idrs獲取到我們的id ,方法為$-1).get("id"),finalid)}。該方法中下標是用當前迭代總數-1來表示的,會有個缺點,當迭代總數大於我們的引數個數時,就取不到值了。可以自己建立乙個引數檔案,但是當id炒雞多時,這樣就麻煩了。。。

之後換了實現方式,通過foreach控制器來迴圈取出id的值就可以了。

foreach控制器與我們寫**時候的foreach迴圈含義其實是一樣的。依次迴圈獲取到值,並執行foreach裡面的sample。foreach裡面sample的設定:

foreach完成一次迴圈是為每次產品增加了一次排期,需求是增加10個。在foreach的外層再加乙個迴圈控制器即可。

以上就完成了第二個場景的設計。

上述2個指令碼其實也可以用來準備測試資料,前端要看多個產品的排版顯示等,都可以直接執行一下指令碼,自動生成測試資料。

最後設定執行緒組控制加壓就可以了,浪湧式、階梯式等等

jmeter場景設計

場景設計是根據收集分析使用者的實際操作而定義的jmeter指令碼的執行策略。效能測試中涉及的基本場景有兩種,即單一業務場景和混合業務場景,這 兩種業務場景缺一不可,缺少任何一種都不能準確評估系統效能,定位系統瓶 頸。如果只做單一業務場景,得到的結果與實際生產環境差距較大,沒有實際 指導意義 如果只做...

Jmeter效能測試 標準效能測試場景設計

如何設計測試場景是效能測試中比較關鍵的內容。在效能測試領域有幾個教科書一樣的場景設計方法,放之四海而皆準 目的單業務基準測試是在伺服器沒有壓力的情況下,獲取單筆業務的處理時間,為後續調優提供資料依託 策略jmeter中設定為單個執行緒迭代n次 如100 取平均響應時間。一般情況下我們不需要監控硬體資...

jmeter 設定壓力場景

1.哪些業務需要做壓力測試?1.1 比較常用的業務場景 or 功能模組 1.2 單業務場景 多 業務場景 1.3 專案要求做的業務場景 2.壓力測試的併發是多少?3.關注哪些引數?3.1 響應時間 兩個原則 1 3 5 2 5 8參考值,什麼意思?超過1秒或3秒可以接受,但是超過5秒就不能接受了,2...