Jmeter深度學習第一天——簡單請求、帶header請求、返回值亂碼問題

qq_42606051發表於2018-09-20

   Jmeter是一個比較通用的介面測試和壓測工具,而且還可以根據需要做二次開發,後續公司可能有壓測的需求,效能測試作為一項基本技能,還是有必要學起來。

一、安裝和啟動

    1. 下載安裝包,官網最新版5.0:http://jmeter.apache.org/download_jmeter.cgi;檔案apache-jmeter-5.0.tgz 或zip均可,下載完成後解壓到目標目錄

    2. 進入安裝目錄 /bin ; 啟動jmeter : open jmeter

二、簡單介面測試

    1.啟動後,左側欄Test Plan 右鍵選單:Add —>Threads —> setUp Thread Group : 用於設定執行緒組,管理下面的請求樣例,也就是我們的測試用例

      繼續右鍵Thread Group新建:Add—>Sampler—>Http Request ,用於設定單個case的http請求,包括目標介面和引數

      繼續新建Http Request:Add—>Listener—> View Results Tree :用於展示測試結果

      設定完成如下圖

      

2. 配置好後,我們可以嘗試進行一次簡單的介面測試,就以部落格園首頁的某個介面來測試吧(希望網站小編別搞我-_-||)。

    從chrome的檢查工具中可以看到,部落格園首頁請求中有個右邊欄新聞的get介面:https://www.cnblogs.com/aggsite/SideRight ,返回結果是一個文章連結的div。

   

 

 3. 我們將介面地址在HTTP Request中進行設定,由於請求方式為https的,儘量在Protocl進行設定https(這個介面沒有進行限制,但有些後端介面是隻允許https請求的)

     Server Name為:www.cnblogs.com 

     Path : /aggsite/SideRight

     點選執行,結束後,在View Result Tree中檢視結果  

     

三、帶header資訊的介面測試

1.上面的請求比較簡單,實際測試中,後端經常存在登入校驗的情況,通常情況,登入資訊會通過header中的cookie、token、authorization等欄位透傳到服務端,我們可以通過偽造這些header資訊來繞過登入校驗進行測試。

如部落格園個人主頁的當前使用者介面:https://home.cnblogs.com/user/CurrentUserInfo?_=1537345396428

直接請求服務端會返回登入提示資訊:

2.在請求中新增header,右鍵Thread Group , Add —> Config Element —> Http Header Manager, 當然這個header也可以新建在單個Request下,那樣的話只對設定的Request生效。

  在key-value列表中新增 cookie ,value為當前登入的資訊的cookie值,點選Run,檢視請求結果:

 

四、請求結果亂碼解決

 1. 目前後端比較通用的互動資料格式是json,實際請求中,jmeter對返回值中中文的支援相當差,原因是當請求沒有設定響應編碼時,jmeter會根據jmeter.properties檔案中,sampleresult.default.encoding設定的格式解析,由於預設格式為IOS-8858-1, 解析中文肯定會出錯

sampleresult.default.encoding=ISO-8859-1

 2.解決方法一:直接修改 jmeter.properties的sampleresult.default.encoding為UTF-8

    解決方法二:

     在請求組中動態修改:右鍵 Thread Group 或 HttpRequest , Add —> Post Processor —> BeanShell PostProcessor, 

     在指令碼編輯框中輸入:prev.setDataEncoding("UTF-8"),儲存;再次執行,返回的結果即可

來源:https://www.cnblogs.com/fanshao2016/p/9675454.html

鄭州婦科醫院排行

鄭州專業婦科醫院

鄭州看婦科哪家好

鄭州專業婦科醫院

相關文章