天天看點

接口測試2——jmeter

一.jmeter簡介

  1. 免費的開源的
  2. 純java語言開發
  3. 需安裝jdk:java development kit

二.安裝啟動

1.安裝

  • 解壓即可

2.目錄

  • bin:存放啟動檔案
  • extras:存放的實作自動化的檔案

3.啟動

  • windows:jmeter.bat檔案
  • linux:ssh檔案

三.jmeter中的元件

1.測試計劃

  • 所有的請求或其他操作都存在測試計劃中

2.線程組(threads)

在測試計劃下建立,一個線程組測試一個接口
           
  • 所有的操作都屬于一個線程
  • 線程數:線程個數
  • Ramp-Up Period:上面的所有線程在多長時間内完成
  • 循環次數

3.操作

線上程組下建立
           
  • 3.1.取樣器sampler(存放請求) -> HTTP請求
    • 存放請求
  • 3.2 斷言 -> 響應斷言
    • 對結果進行判斷
  • 3.3 監聽器 -> 斷言結果
    • 對結果進行收集

4.實操

儲存時要儲存測試計劃,這樣才能再次打開
           
  • HTTP Cookie管理器:登入時需要用到,不然會登入失敗
  • HTTP請求
  • 檢視結果樹
  • 響應斷言
  • 斷言結果:有斷言結果元件才會顯示斷言結果

5.接口間參數傳遞

後置處理器中的正則
           
  • 正規表達式提取器
    • 引用名稱:usersession
    • 正規表達式:name=userSession value=(.+?)
    • 模闆:如果是一個參數 $ 1 $,兩個參數 $ 2 $,n個參數 $ n $
    • 比對數字:0代表随機比對,1代表取第一個,2代表取第二個,…-1取全部
    • 預設值:擷取不到資料後的預設值
  • 在http請求參數的設定
    • usersession: $(usersession) :代表着擷取變量usersession變量的值

6.資料分離實作

  • CSV Data Set Config(讀取csv,txt)
    • 選中線程 -> 配置元件 ->CSV Data Set Config
    • Filename:檔案位置
    • Variable Name(comma-delimited):user,pwd 檔案中的變量名稱,用逗号隔開
    • 通過檔案行數讀取檔案内容
  • 在http請求參數的設定
    • usersession: $(user) :代表着擷取變量
  • 實作多次循環取值
    • 設定線程組的循環次數
  • 函數助手也可以實作函數分離(讀取csv,txt)
    • 選項菜單 ->函數助手對話框 -> _CSVRead函數 -> 填寫檔案路徑和列号(從零開始)-> 點選生成
    • 讀資料時按照線程數進行讀取(按照不同使用者讀取的内容)
  • 通過使用者參數實作讀取資料
    • 選中線程 -> 添加前置處理器中的使用者參數選項
    • 讀資料時按照線程數進行讀取(由不同使用者決定讀取的内容)
    • 并發操作時使用較多

7.jmeter實作自動化測試

  • 一.配置環境變量
    • 1.建立JMETER_HOME:安裝路徑
    • 2.Path:%JMETER_HOME%\bin
    • 3.CLASSPATH:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;
    • 驗證:在dos視窗輸入jmeter,如果正常啟動則配置成功
  • 二.設定預設儲存格式
    • 選擇bin/jmeter.properties檔案
    • 設定jmeter.save.saveservice.output_format = xml
  • 将JMeter所在目錄下extras子目錄裡的ant-JMeter-1.1.1.jar複制到Ant所在目錄lib子目錄之下,這樣Ant運作時才能找到‘org.programmerplanet.ant.taskdefs.jmeter.JMeterTask’這個類,進而成功觸發JMeter腳本
  • 三.配置ant環境變量
    • 将ANT解壓到D:\test\ant 下
    • ANT_HOME: 安裝目錄D:\test\ant\apacheAnt
    • CLASSPATH: ;%ANT_HOME%\lib
    • Path: ;%ANT_HOME%\lib
    • 驗證:ant-version
  • 四.目錄結構
    • test
      • ant
      • data
      • JmeterAutoTest
        • app
        • pc
          • script:執行的腳本
          • resultlog
            • html:ant轉化後的結果
            • jtl:jmeter生成的結果
  • 五.用jenkins實作持續內建
    • 将jenkins搭建在tomcat下
      • 需安裝tomcat:tomact閃退原因,端口被占用
      • 可在tomct7下 -> conf -> server.xml 修改端口
      • 異常退出的方式。1.ctrl + C
    • jenkins建構項目
      • 建立item,輸入名稱,選擇建構一個自由風格的軟體項目
      • 建構觸發器,選擇Build periodically,定義腳本執行的頻率
      • 建構 -> 選擇invoke ant -> 在build file位置輸入build.xml檔案的路徑,儲存
        • 選中該任務 ->選擇立即建構即可