一個關於jmeter使用的簡單實例

最近有小朋友經常問關聯怎麼做,正好遇到一個好的小實例,寫下。

收益:

從一個小的測試實例中可以快速簡單的瞭解到jmeter的一些使用技能,比如關聯,正則表達式的使用,if控制器,jmeter作用域。

背景:

收到一個很簡單的性能測試的需求:

壓測下面頁面: http://[ip地址]/test5?data=[加密數據][&sign][加密數據]

備註:【數據就不貼出來啦】

要求 60qps,頁面5s內加載完 且觀察涉及的幾個服務的應用服務器的CPU、內存、IIS情況

腳本過程:

恩,需求和指標都很明確。於是我們手動點開看了下待測的頁面:

發現有個跳轉在中間一閃而過,用fiddler工具抓包看了下,其實是包含一個登錄的操作。進一步找技術人員溝通得知,這是一個聯合登錄。

抓包

開始用badboy工具來錄製請求。 我們發現和抓包一樣的發現很多個請求,遠遠不止開始開發提測的一個get請求而已。

![抓包1]

抓包1

錄製好請求後,把腳本保存為JMX格式,用jmeter打開。我們加了一個“查看結果樹”調試器,點“開始”放了一遍。查看了下返回,發現都是其他的JS頁面或者報錯。

默默得打開了fiddler工具抓了個包。發現第一次請求的時候,服務返回的報文裡面含一段 authcode=
6F84F9C8976DA39F923A7B87D94AB25E

特別留意了下,於是第二次手動請求再抓包,發現這個authcode每次請求都會不一樣。

接著往下找,發現這個authcode 在後面的登錄請求裡面是需要使用到的。

關聯

於是我們此處需要一個關聯:

我們在第一個請求前面, 後置處理器-->正則表達式提取器抓取了authcode碼後,我們在登錄的請求裡面,用到的authcode碼做成參數化,參數名 code,來抓取這個服務器返回的authcode。

正則1

參數化1

關聯知識Tips:

方法一:從前一個請求中取,用正則表達式提取器。

具體方法,在需要獲得數據的請求上右擊添加一個後置處理器-->正則表達式提取器引用名 稱即下一個請求要引用的參數名稱,如上圖的填寫code,則可用{code}引用它. 正則表達式中()括起來的部分就是要提取的。其中.代表任意字符,*代表出現任意次。 模板,用$$引用起來,如果在正則表達式中有多個正則表達式(多個括號括起來的內 容),則可以是2,3$等

來自簡書果果果果我是果醬吶

聯繫作者longtestyan

一個關於jmeter使用的簡單實例


分享到:


相關文章: