jmeter之__RandomFromMultipleVars函數使用詳解 原

  這兩天接了個測試需求,要對服務器進行併發測試。
爲了保證覆蓋度,請求中有幾個參數需要在一定的取值範圍內隨機(比如Excellent、good、bad三選一)。
簡單調研了一下,在jmeter中__RandomFromMultipleVars這個函數完全滿足需求,看看網上怎麼介紹的吧:
這樣子的:

__RandomFromMultipleVars介紹
或者是這樣子的:

__RandomFromMultipleVars介紹
看完攻略之後,心中一爽,So簡單,然後鍵盤輕輕一敲:
”key”:”${__RandomFromMultipleVars(Excellent|good|bad)}”

__RandomFromMultipleVars
搞定→運行→查看結果→瞬間懵逼(結果如下圖),我key的值呢?讓誰給吃了?

__RandomFromMultipleVars
爲了找到原因,嘗試做了很多事情,比如改個寫法、與__Random函數對比、將key從body改在url中等等,始終無法搞出這個值,一度準備放棄改用“CSV Data SetConfig”從文件獲取參數值的方式(後來沒用,是因爲這條路也沒走通)。
不過好在最後靈光一現,找到了一種解決方案。
具體的解決方法:
第一步:自定義一組變量,並對變量進行賦值,如下圖:

__RandomFromMultipleVars
第二步:然後在使用__RandomFromMultipleVars函數時,用自定義的變量進行填充,如下圖:

__RandomFromMultipleVars
最後:再次運行,搞定,一切正常了。

__RandomFromMultipleVars

__RandomFromMultipleVars
此處還有一個衍生的問題:
上述例子中我們是3個參數值,可以在“用戶定義的變量”手填,但是如果參數值是成千上萬怎麼辦?
小編嘗試過通過文件讀取等方式給對應的變量賦值,但都均告失敗,最後採用了一種笨辦法,還是能夠很大程度上緩解這個問題的。具體的操作如下:
首先,做個表:

__RandomFromMultipleVars
第二步:將表中的所有內容複製到剪切板中(全選+複製)
第三步:在“用戶定義的變量”中選擇“Add frome Clipboard”

__RandomFromMultipleVars
最終,結果一樣是挺酸爽的。(此處要注意變量名和變量的值中是否有空格

__RandomFromMultipleVars

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章