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

    Jmeter是一個比較通用的接口測試和壓測工具,並且還能夠根據須要作二次開發,後續公司可能有壓測的需求,性能測試做爲一項基本技能,仍是有必要學起來。chrome

1、安裝和啓動apache

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

    2. 進入安裝目錄 /bin ; 啓動jmeter : open jmeter後端

2、簡單接口測試cookie

    1.啓動後,左側欄Test Plan 右鍵菜單:Add —>Threads —> setUp Thread Group : 用於設置線程組,管理下面的請求樣例,也就是咱們的測試用例ide

      繼續右鍵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中查看結果  

     

3、帶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,查看請求結果:

 

4、請求結果亂碼解決

 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"),保存;再次運行,返回的結果便可

相關文章
相關標籤/搜索