JMeter(入門篇)

一.簡介

JMeter 是 Apache 組織使用 Java 開發的一款測試工具。

1、可以用于對服務器、網絡或對象模擬巨大的負載

2、通過創建帶有斷言的腳本來驗證程序是否能返回期望的結果

二.優缺點

優點:

  1. 開源、免費

  2. 跨平臺

  3. 支持多協議

  4. 小巧

  5. 功能強大

缺點:

  1. 不支持IP欺騙

  2. 使用JMeter無法驗證JS程序,也無法驗證頁面UI,所以要和Selenium配合來完成Web2.0應用的測試

三.安裝與啟動

  1. JMeter 是使用 Java 編寫的,必須安裝 Java 環境

    JDK: Java SE Development Kit (java 開發工具包,為 JAVA 程序開發提供環境支持)

    JRE: Java Runtime Environment (java 運行環境,為 JAVA 程序運行提供環境支持)

  2. 下載并安裝 JMeter

    下載: Apache JMeter - Download Apache JMeter 安裝: 直接解壓縮即可

  3. 啟動

    bin目錄下的 ApacheJMeter.jar 雙擊啟動即可

四.JMeter的基本使用

設計接口三要素

  1. 測試計劃--右鍵--線程--添加線程組

  2. 線程組--右鍵--取樣器--http請求

  3. 測試計劃--右鍵--添加監聽器--查看結果樹

  4. 點擊運行,查看結果

五.JMeter線程組相關

進 程: 正在運行的程序

線 程:進程中的執行線索

線程組: 進程中有許多線程,為了方便管理,可以對線程按照性質分組,分組的結果就是線程組

PS: 三者關系,一個進程可以包含多個線程組,一個線程組可以包含多個線程

六.JMeter并發執行和順序執行

并發執行:多個線程同時執行,不知道誰先結束

順序執行:多個線程順序執行

在測試計劃中勾選上該選項,就可以讓線程按照添加順序執行

執行結果

七.JMeter兩個特殊線程組

setUp線程組:最優先執行的線程組

tearDown線程組:最后執行的線程組

八.JMeter線程組相關屬性

九.http請求默認值

將被復用的內容進行封裝。

十.信息頭管理器

新增修改實現時提交的數據是 JSON 格式的,需聲明提交的數據的內容類型。

新增時在消息體數據中添加數據:

啟動前要添加Http信息頭管理器,否則會出現下面類似情況:

添加Http信息頭管理器:

Content-Type application/json;charset=utf-8(中間的標點符號為分號,圖片中:為書寫錯誤)

十一.參數化

當提交的數據量較大,種由程序驅動代替人工驅動的數據設計方案,提高腳本的編寫效率以及編寫質量。

1.用戶定義的變量

調用方式:${變量名}

2.CSV數據文件設置

CSV :逗號分隔值,是一種簡潔且常見的數據存儲格式,存儲語法如下圖所示

3.用戶參數

4.函數

常見函數: __counter 計數器函數 :TRUE(每個用戶都有自己的計數器) FALSE(所有用戶共用一個計數器)

__Random 隨機數函數: 參數1:取值范圍最小值(包含) 參數2:取值范圍最大值(包含)

__time 獲取當前時間的函數 :無參: 獲取的是距離 1970/01/01 00:00:00 的毫秒值

1、__counter函數

2、__Random函數

3、__time函數

不設置值:

設置值:

十二.直連數據庫

通過直連數據庫讓程序代替接口訪問數據庫,如果二者預期結果不一致,就找到了程序缺陷。

具體步驟:

  1. JMeter 不具備直連數據庫功能,必須整合第三方(jar包)實現

  2. 配置數據庫的連接 JDBC Connection Configuration

  3. 通過 JDBC Request 請求向數據庫發送 SQL語句并接收提取響應結果

將查詢到的結果作為接下來請求的路徑:

添加調試取樣器

在 JDBC Request 中添加

添加http請求

十三.斷言

讓程序代替人工判斷響應結果是否符合預期

分類: 響應斷言 = 斷言狀態碼和響應體 大小斷言 = 判斷響應內容的字節長度 斷言持續時間 = 判斷響應時間

1、響應斷言

2、大小斷言

3、斷言持續時間

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/93877.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/93877.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/93877.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Lecture 12: Concurrency 5

回顧:并行用餐哲學家讀者/作者問題哲學家進餐問題方案三:最大化并行需要一個更復雜的解決方案來實現最大的并行性 解決方案使用:state[N]:每個哲學家的當前狀態(THINKING, HUNGRY, EATING&#…

UniApp 微信小程序之間跳轉指南

概述 在UniApp開發中,經常需要實現從當前小程序跳轉到其他微信小程序的功能。本文檔詳細介紹了如何在UniApp中實現微信小程序之間的跳轉。 核心API uni.navigateToMiniProgram() 這是UniApp提供的用于跳轉到其他微信小程序的核心API。 基本語法 uni.navigateToMiniP…

基于SpringBoot+Vue的養老院管理系統的設計與實現 智能養老系統 養老架構管理 養老小程序

🔥作者:it畢設實戰小研🔥 💖簡介:java、微信小程序、安卓;定制開發,遠程調試 代碼講解,文檔指導,ppt制作💖 精彩專欄推薦訂閱:在下方專欄&#x1…

TRAE調教指南:用6A工作流項目規則+5S敏捷個人規則打造高效AI開發流程

TRAE調教指南:用6A工作流項目規則5S敏捷個人規則打造高效AI開發流程 引言:從"AI瞎寫"到"精準交付"的實戰手冊一、什么是Rules:讓AI"聽話"的底層邏輯1. 告別重復指令疲勞2. 實現"千人千面"的個性化適…

【C語言】gets和getchar的區別

在C語言中,gets和getchar是兩個用于輸入的標準函數,它們在功能和用法上有所不同。 功能上: gets函數主要用于讀取一行字符串,直到遇到換行符(回車鍵)為止。它會自動過濾掉換行符,不會將其讀入到…

【數據結構與算法】數據結構初階:詳解二叉樹(一)

🔥個人主頁:胡蘿卜3.0 🎬作者簡介:C研發方向學習者 📖個人專欄: 《C語言》《數據結構》 《C干貨分享》 ??人生格言:不試試怎么知道自己行不行 正片開始之前,我們來了解一下我們即…

工具測試 - marker (Convert PDF to markdown + JSON quickly with high accuracy)

參考鏈接如下:: 參考鏈接:https://github.com/datalab-to/marker?tabreadme-ov-file#llm-services 底層的OCR模型:https://github.com/datalab-to/surya 作用:開源免費🆓,多 GPU 推理、生成效…

STM32HAL 快速入門(七):GPIO 輸入之光敏傳感器控制蜂鳴器

STM32HAL 快速入門(七):GPIO 輸入之光敏傳感器控制蜂鳴器 前言 大家好,這里是 Hello_Embed。上一篇我們用 GPIO 輸入模式實現了按鍵控制 LED,本篇將進階到 “光敏傳感器控制蜂鳴器”—— 通過讀取光敏傳感器的信號&…

windows環境,安裝kafka

步驟 1: 準備工作 確保已安裝 Java:Kafka 需要 Java 運行時環境 (JRE) 或 Java 開發工具包 (JDK) 來運行。請確認您的系統上已安裝了 Java,并且 JAVA_HOME 環境變量正確配置。 解壓 Kafka:將下載的 Kafka 壓縮包解壓到一個目錄,比…

機器翻譯60天修煉專欄介紹和目錄

文章目錄 第一章:機器翻譯基礎認知與語言學鋪墊 第二章:經典機器翻譯模型(統計機器翻譯) 第三章:神經網絡基礎與詞向量技術 第四章:神經機器翻譯(NMT)基礎架構 第五章:NMT模型進階與訓練實踐 第六章:預訓練模型與機器翻譯應用 第七章:研究前沿與綜合項目 導論:學習…

openwrt增加自定義網頁

一. 簡介 本文介紹在OpenWRT中使用Luci框架定制設備配置頁面的方法,包括添加靜態頁面和參數配置頁面的過程,以及如何利用lua腳本實現界面與功能的結合。 二. Luci介紹 UCI 是 Openwrt 中為實現所有系統配置的一個統一接口,英文名 Unified Configuration Interface,即統一…

微服務的編程測評系統11-jmeter-redis-競賽列表

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄前言1. 退出登錄1.1 后端1.2 前端2. 獲取當前用戶信息3. C端用戶競賽列表功能3.1 后端3.2 Jmeter-基本操作3.3 數據版本性能測試-壓力測試3.4 redis版本-緩存結構設計…

海濱浴場應急廣播:守護碧海藍天的安全防線

海濱浴場應急廣播:守護碧海藍天的安全防線!海濱浴場,是人們休閑娛樂、親近自然的理想場所。然而,變幻莫測的海洋環境也潛藏著諸多安全隱患,如溺水、離岸流、海蜇蜇傷、極端天氣等。為了有效應對突發事件,保…

華曦達港股IPO觀察丨以創新研發為筆,構建AI Home智慧生活新藍圖

深圳市華曦達科技股份有限公司自創立伊始,便將敏銳的市場洞察與前沿技術追蹤視為生命線。通過構建一支卓越的研發團隊,公司專注于自主核心技術的深耕與積累,以精密的硬件與創新的軟件筑起堅實的技術壁壘。其精心打造的“技術創新-…

構建現代化的Web UI自動化測試框架:從圖片上傳測試實踐說起

構建現代化的Web UI自動化測試框架:從圖片上傳測試實踐說起如何設計一個可維護、可擴展的Web UI自動化測試框架?本文通過一個圖片上傳測試實例,詳細介紹專業測試框架的搭建與實踐。當前測試框架結構 首先,讓我們了解一下當前的測試…

Apache IoTDB:大數據時代時序數據庫選型的技術突圍與實踐指南

摘要:時序數據庫在大數據時代迎來爆發式增長,IoTDB作為Apache頂級開源項目展現出顯著優勢:1. 性能卓越:支持千萬級數據點/秒寫入,18:1高壓縮比,查詢延遲低至500ms;2. 創新架構:采用樹…

2025年8月16日(星期六):雨騎古蓮村游記

清晨,當第一縷微光還未完全驅散夜幕的靜謐,我們這群由校長領銜的騎行愛好者已整裝待發。咖啡節早市尚未開攤,空氣中彌漫著一種期待與寧靜交織的氛圍,仿佛連時間都在為我們即將開啟的旅程而放慢腳步。今天的目標是古蓮村&#xff0…

Pandas數據預處理中缺失值處理

一、缺失值的概念表現形式1.數據庫中常用null表示2.部分編程語言中用NA表示3.可能表現為空字符串(‘’)或特定數值4.在Pandas中統一用NaN表示(來自NumPy庫,NaN、NAN、nan本質一致)NaN的特性1.與任何值都不相等&#xf…

計算機網絡:(十五)TCP擁塞控制與擁塞控制算法深度剖析

> 當網絡變成"堵城",TCP如何化身智能交通指揮家?揭秘百萬級并發背后的流量控制藝術! ### 一、生死攸關:為什么需要擁塞控制? **真實災難案例**:1986年勞倫斯伯克利實驗室網絡大崩潰,因缺乏擁塞控制導致全網癱瘓36小時。TCP擁塞控制由此誕生,核心解決**資…

python中的單下劃線“_”與雙下劃線“__”的使用場景及“左右雙下劃線”(魔術方法:`__xxx__`)

在Python中,單下劃線“_”和雙下劃線“__”的使用場景和含義有顯著區別,主要體現在命名約定和語法 一、單下劃線“_”的使用場景 單下劃線更多是編程約定(而非強制語法),用于傳遞特定的“暗示”,不影響代碼…