使用JMeter如何實現併發壓測下的只登錄一次

  • 性能測試過程中經常有需要對案例進行大併發壓測,但是只需要登錄一次即可,jmeter自帶了僅一次控制器,但此控制器只是針對單線程纔有意義,多線程下,設置多少線程數還是會執行多少次
  • 1000併發用戶下,系統還是會執行1000次登錄,有10次登錄失敗,就會影響實際壓測案例的結果,本文就介紹如何使用全局變量實現真正意義上的只執行一次登錄

一、請求分析

  1. 本次需要對系統的一個查詢操作做性能測試,首先使用谷歌瀏覽器登錄系統,按F12進入調試頁面,然後訪問查詢頁面,下圖爲查詢接口地址
    在這裏插入圖片描述
  2. 下圖爲該接口的信息頭,由圖可知,需要先登錄獲取Cookie,並且在查詢請求信息頭申明該Cookie即可實現查詢操作
    在這裏插入圖片描述

二、腳本開發

  1. 本次需要先開發好登錄腳本,由下圖可知,MOD_AUTH_CAS變量會在登錄1請求中的子請求(重定向)返回
    在這裏插入圖片描述
  2. 只需要在該請求下添加一個正則表達式提取器即可,如下圖所示
    在這裏插入圖片描述
  3. MOD_AUTH_CAS變量提取成功,我們只需要在該請求後面使用beanshell申明該變量爲全局變量即可,這樣其它線程也能調用該變量
    在這裏插入圖片描述
  4. 在查詢線程組下,申明信息頭,並且定義cookie字段,值使用MOD_AUTH_CAS=${__P(Th_MOD_AUTH_CAS,)}進行調用,如下圖所示
    在這裏插入圖片描述

三、多線程驗證

  1. 首先設置線程組爲2線程2循環,看是否能正常執行
    在這裏插入圖片描述
  2. 設置測試計劃,測試計劃勾選獨立運行每個線程組,並且把登錄線程組放置在最前面,這樣系統就會先執行登錄,在執行其它線程組
    在這裏插入圖片描述
  3. 執行腳本,如下圖所示,系統只登錄了一次,正常進行了4次查詢,4次查詢是2線程執行了2次循環
    在這裏插入圖片描述 在這裏插入圖片描述
  4. 本文介紹了登錄使用Cookie鑑權如何實現一次登錄,多併發下執行壓測,如果系統調用了token,規則一樣,只需要把token全局化即可實現

       如果文章對你有幫助,歡迎關注本人公衆號,公衆號與本平臺文章同步,方便大家查閱,本人會持續推出與測試有關的文章,與大家分享測試技術,每一篇原創文章都是用心編寫,杜絕抄襲複製


QQ技術交流羣:加羣請輸入驗證信息 51cto
              在這裏插入圖片描述


微信二維碼關注公衆號:

            在這裏插入圖片描述


關注之後,回覆資源下載,即可獲取本人共享的各種資源下載地址
在這裏插入圖片描述

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