今天的業務場景是:
1.管理員登錄后臺---登錄成功后添加一個某類型的產品---產品添加成功后,再為該產品添加10個排期。
2.管理員登錄后臺--登錄成功后添加多個不同類型產品---產品全部添加完成后,依次為所有產品添加10個排期。
這是兩種不同的場景,下面是兩個場景的實現方法:
場景一:
1.登錄模塊,登錄模塊比較簡單,不做記錄
要求登錄一次之后,進行其他操作。因此登錄模塊放到了僅一次控制器中
2.增加產品
產品類型分為4中,不同類型對應不同的proTypeId。將4種不同類型的產品ID放到文本文件中。
產品名字與類型一樣,也可以使用讀取文件的方式參數化。如果對產品名稱沒有具體要求的話,直接使用隨機字符串的函數生成也是可以的。
在添加產品的請求中,用函數來一次讀取該文件中的參數(效果就是:第一次迭代添加的是A類型的產品,第二次迭代添加的是B類型的產品,依次循環類推)
該函數在使用時要注意,必須寫為:${__CSVRead(C:\Users\XXX\Desktop\producttype.txt,0)}${__CSVRead(C:\Users\XXX\Desktop\producttype.txt,next())},這樣寫的含義是,先讀取到第一個值,之后在一次向下讀取。如果只寫讀取下一個的函數是讀不到值的
在請求產品之前,會有一個添加圖片的接口。就是我們平時使用的軟件中,點擊上傳圖片之后選擇圖片,此時會獲得一個圖片的url地址(一般上傳圖片的都是這樣的流程)。這時候是post的圖片文件,如果使用抓包軟件或者錄制,由于是二級制的,得到的都是亂碼。所以這里的參數,手動添加一下就可以了。
再用一個正則把獲取到的URL 獲取到就可以了。
這樣就完成了添加產品的場景。
之后需要為該產品添加排期,前提是先找到這個產品的ID。由于產品添加成功后是不會返回ID回來的,所以需要去數據庫中獲取到這個ID ,需要一個Jdbc請求
?
3.增加排期
?
?這里post的請求中,參數就需要之前數據庫中查出來的id了,直接使用即可。
由于要求每個產品增加10個排期,因此添加循環控制器,設置循環次數為10 就可以了。
以上就完成了第一個場景的模擬。
?
場景二:
該場景與場景一的不同在于:要產品添加完成之后,再對每個產品添加多個排期。
前面登錄和添加產品的步驟基本是一致的(該場景需要把添加產品的步驟放在循環控制器中),下面直接說添加排期的問題。
添加排期:前提是獲取到所有產品的ID,可以參考上面圖中的jdbc request,改一下sql就可以了。
這時,我們的參數id是這樣的:id_1=6994a163-5d29-4fcc-a19b-752f389c76d6,id_2=....等等

foreach控制器與我們寫代碼時候的foreach循環含義其實是一樣的。依次循環獲取到值,并執行foreach里面的sample。foreach里面sample的設置:
?foreach完成一次循環是為每次產品增加了一次排期,需求是增加10個。在foreach的外層再加一個循環控制器即可。
以上就完成了第二個場景的設計。
上述2個腳本其實也可以用來準備測試數據,前端要看多個產品的排版顯示等,都可以直接執行一下腳本,自動生成測試數據。
最后設置線程組控制加壓就可以了,浪涌式、階梯式等等
?