JMeter工具介紹

Jmeter功能概要

JDK常用文件目錄介紹

Bin目錄:存放可執行文件配置文件

image-20240531223358791

Docs目錄:是Jmeter的API文檔,用于開發擴展組件

image-20240531224214181

printable_docs目錄用戶幫助手冊

image-20240531224526514

lib目錄:存放JMeter依賴的jar包和用戶擴展所依賴的Jar包

image-20240601133943245

修改默認配置——Jmeter界面的漢化

臨時性:

啟動Jmeter->選擇菜單“option"->Choose language->Chinese(Simplified)

image-20240601134547296

永久性——修改配置文件:

  1. 找到Jmeter安裝目錄下的bin目錄
  2. 打開jmeter.properties文件,把第37行修改為”language=zh_CN"
  3. 重啟Jmeter即可。

image-20240601135331016

修改默認配置——修改主題

Jmeter默認主題是黑色的,可以通過以下步驟修改:

  • 啟動Jmeter->選擇菜單“選項”->外觀->windows(選擇自己喜歡的主題即可)

image-20240601135815681

Jmeter元件和組件的介紹

元件的基本介紹

元件:多個類似功能組件的容器(類似于

image-20240601140134762

組件的基本介紹

組件:實現獨立的某個功能(類似于方法

例如:取樣器的組件

image-20240601140655406

Jmeter元件作用域和執行順序

元件的作用域

元件的作用域:是靠測試計劃的樹形結構中元件的父子關系來確定的。

image-20240601142612030

提示:所有的組件都是以取樣器為核心來運行的。組件添加的位置不同,生效的取樣器也不同。

作用域的原則

  • 取樣器:核心,不和其他元件相互作用,沒有作用域
  • 邏輯控制器:只對其子節點中的取樣器和邏輯控制器起作用。
  • 其他元件:
    • 如果是某個取樣器的子節點,則該元件只對其父節點起作用。
    • 如果其父節點不是取樣器,則其作用域是該 元件父節點下的其他所有后代節點(包括子節點、子節點的子節點等。)

image-20240601143711616

例:固定定時器3是HTTP請求3的子節點,則該元件只對HTTP請求3起作用

固定定時器1的父節點是線程組 ,其作用域是HTTP請求1 HTTP請求2 HTTP請求3

固定定時器2的父節點是如果(If)控制器,其作用域是HTTP請求2

元件的執行順序

同一個作用域下不同類型元件:

  1. 配置元件(config elements)

  2. 前置處理程序(Per-processors)

  3. 定時器(times)

  4. 取樣器(Sampler)

  5. 后置處理程序(Post-processors)

  6. 斷言(Assertions)

  7. 監聽器(Listeners)

同一個作用域下多個相同類型元件

  • 按照在測試計劃中從上到下的順序依次執行。

案例:執行順序

image-20240601145606096

定時器1-HTTP請求1-定時器1-定時器2-HTTP請求2-定時器1-定時器3–HTTP請求3

Jmeter使用示例

Jmeter第一個案例

需求:使用Jmeter訪問百度首頁接口,并查看請求和響應信息

步驟

  1. 啟動Jmeter
  2. 在“測試計劃”下添加“線程組”
  3. 在“線程組”下添加“HTTP請求“取樣器
  4. 填寫”HTTP請求”的相關請求數據
  5. 在”線程組“下添加”查看結果樹“監聽器
  6. 點擊”啟動“按鈕運行,并查看結果

image-20240601151737668

線程組

作用:線程組就是控制JMeter用于執行測試的一組用戶

位置:右鍵點擊”測試計劃“->添加->線程(用戶)->線程組

特點:

  • 模擬多人操作
  • 線程組可以添加多個,多個線程組可以并行或串行
  • 取樣器(請求)和邏輯控制器必須依賴線程組才能使用
  • 線程組下可以添加其他元件下組件

線程組分類

  • 線程組

    普通的、常用的線程組,可以看做一個虛擬用戶組,線程組中的每一個線程都可以理解為一個虛擬用戶。

  • SetUp線程組

一種特殊類型的線程組,可用于執行預測試操作

  • TearDown線程組

一種特殊類型的線程組,可用于執行測試后工作

線程組參數詳解:

image-20240601201309958

練習:編寫JMeter腳本,訪問百度

要求:

  • 模擬10個用戶并行執行;

image-20240601203121338

  • 模擬10個用戶5s內啟動完成;

  • 模擬2個用戶各循環3次;

image-20240601203307825

  • 模擬2個用戶運行30s;

image-20240601203435020

  • 模擬2個用戶等待10s后開始執行。

image-20240601203916231

案例分析:

使用1個線程組,添加HTTP請求(百度)

  • 配置線程數為2,循環次數為3時,運行觀察結果
  • 配置線程數為3,循環次數為2時,運行觀察結果,對比是否有不同

相同點:從請求數量來說,是完全相同的

不同點:場景不同

  • 線程數:代表用戶數,即性能測試時的負載量(線程數為2比線程數為3對應的負載量小)
  • 循環次數:代表時間,即性能測試時的運行時間(循環次數3比循環次數2對應的時間長)

HTTP請求

作用:向服務器發送http及https請求

位置:選擇線程組->右鍵->添加->取樣器->HTTP請求

參數:

image-20240601210236223

案例一(使用HTTP請求路徑來傳遞get請求參數)

(1)使用1個線程組,添加HTTP請求(百度),路徑為/S

  • 使用HTTP協議,GET請求方法,路徑中添加參數為:wd=test,運行觀察結果

image-20240601214202690

案例二(使用參數列表來傳遞get請求的參數)

  • 使用HTTPS協議,GET請求方法,路徑中添加參數為: wd = test,運行觀察結果

image-20240601211618262

案例三(使用參數列表來傳遞POST請求的form格式參數)

  • 使用HTTPS協議,POST請求方法,消息體數據中添加參數為: wd = test,運行觀察結果

image-20240601212009755

案例四:

  • 使用HTTP協議,POST請求方法,消息體數據中添加參數為: wd = test,運行觀察結果

image-20240601212315094

查看結果樹

案例1:查看結果樹種的HTTP請求種,有多個子請求的HTTP請求

image-20240601213117293

原因分析:

  • 第一個HTTP請求中,URL錯誤,導致服務器產生了重定向,提供了新的URL路徑

image-20240601213136170

  • JMeter會自動發送第二個HTTP請求(使用第一個HTTP請求中返回的URL路徑)
  • 點擊最外層HTTP請求時,顯示的內容與最后一個HTTP請求的請求和響應數據一致

案例2:HTTP響應數據中存在亂碼,需要修改取樣器結果的編碼格式

image-20240601213312080

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

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

相關文章

HALCON-從入門到入門-讀取圖片保存圖片

1.廢話 視覺算法庫的第一步。 讀取圖片: 看你是從哪里讀取,從相機讀取還是從本地硬盤中讀取。 保存圖片:就只有保存到本地了。 上面的截圖顯示我讀取了一張圖片 從相機中讀取另開一篇來說,先說從本地磁盤讀取哈。 怎么讀取的…

創建maven 項目

一、groupId, artifactId When creating a Maven project in IntelliJ IDEA, "groupId" and "artifactId" are two essential elements of the projects metadata. groupId: This typically identifies your project uniquely across all projects. For e…

C語言程序設計第二講:順序程序設計

一、數據類型 1. 基本數據類型 C語言中提供了一些基本數據類型,用于表示各種不同類型的數據: 整數類型: int:表示整數,通常占用4個字節。short int:表示短整數,通常占用2個字節。long int&am…

Pycharm 的使用

使用文檔: Getting started | PyCharm DocumentationPyCharm 中文指南 — PyCharm 中文指南(Win版) 2.0 documentation 在Ubuntu中安裝并配置Pycharm教程(安裝 Pycharm)Ubuntu安裝pycharm及快速創建pycharm的快捷方式,便于使用&am…

數據結構復習指導之交換排序(冒泡排序,快速排序)

目錄 交換排序 復習提示 1.冒泡排序 1.1基本思想 1.2算法代碼 1.3性能分析 2.快速排序 2.1基本思想 2.2算法代碼 2.3性能分析 交換排序 復習提示 所謂交換,是指根據序列中兩個元素關鍵字的比較結果來對換這兩個記錄在序列中的位置。 基于交換的排序算法很…

鏈表逆序用哨兵位頭節點

在C語言中實現鏈表的逆序&#xff0c;使用哨兵頭節點是一種常見的做法。哨兵頭節點可以簡化代碼邏輯&#xff0c;特別是當鏈表為空時&#xff0c;可以避免空指針異常。下面是一個使用哨兵頭節點逆序單鏈表的C語言實現 示例&#xff1a; #include <stdio.h> #include &l…

富格林:應用正規技巧阻撓被騙

富格林悉知&#xff0c;隨著如今入市現貨黃金的朋友愈來愈多&#xff0c;不少投資者也慢慢開始重視起提高自身的正規投資技巧&#xff0c;希望能阻撓被騙更高效地在市場上獲利。雖然目前黃金市場存在一定的受害風險&#xff0c;但只要投資者嚴格按照正規的交易規則來做單&#…

python解決flask啟動的同時啟動定時任務

業務場景描述&#xff1a;在常規的開發中&#xff0c;我們開發接口服務&#xff0c;一般會將數據放在數據庫、文件等第三方文件&#xff0c;啟動服務后&#xff0c;服務到后臺數據庫中加載數據&#xff0c;這樣做的好處當然是開發會更加便利以及數據的可復用性較高&#xff0c;…

深度學習-03-函數的連續調用

深度學習-03-函數的連續調用 本文是《深度學習入門2-自製框架》 的學習筆記&#xff0c;記錄自己學習心得&#xff0c;以及對重點知識的理解。如果內容對你有幫助&#xff0c;請支持正版&#xff0c;去購買正版書籍&#xff0c;支持正版書籍不僅是尊重作者的辛勤勞動&#xff0…

LLaMA-Factory推理實踐

運行成功的記錄 平臺&#xff1a;帶有GPU的服務器 運行的命令 git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory/ conda create -n py310 python3.10 conda activate py310由于服務器不能直接從huggingface上下載Qwen1.5-0.5B&#xff0c;但本地可…

51仿真器 PZ-51Tracker 未知設備

插上仿真器&#xff0c;右擊我的電腦 等待一下&#xff0c;選擇winUSB 此時在keil中選擇仿真器會報錯&#xff0c;需要安裝如下我是win10) 安裝好后退出再試&#xff0c;沒有報錯即可 這項也要選擇 另外配置晶振

MYSQL之存儲篇

MYSQL之存儲篇 存儲過程簡介存儲過程優點&#xff1a; MySQL的存儲過程MySQL存儲過程的創建1.格式2.聲明分割符3.參數4.變量5.注釋6.MySQL存儲過程的調用7. MySQL存儲過程的查詢8.MySQL存儲過程的修改9.MySQL存儲過程的刪除10. MySQL存儲過程的控制語句11.MySQL存儲過程的基本函…

mybatis配置環境流程

mybatis配置環境流程 為啥要用mybatis&#xff1a;通過Mybatis實現快速訪問后端pgsql、mysql等數據庫。 1.修改pom.xml&#xff0c;添加mybatis相關依賴 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-s…

React + SpringBoot開發用戶中心管理系統

用戶中心項目搭建筆記 技術棧 前端技術棧 “react”: “^18.2.0”,ant-design-pro 后端技術棧 SpringBoot 2.6.x 項目源碼地址 https://gitee.com/szxio/user-center 前端項目搭建 快速搭建一個后端管理系統項目框架 初始化 antDesignPro 官網&#xff1a; https://…

Spel表達式使用案例

package com.example.demo.api;import com.example.demo.model.User; import lombok.extern.slf4j.Slf4j;<

CSS Web前端框架:深入剖析與應用實踐

CSS Web前端框架&#xff1a;深入剖析與應用實踐 在快速發展的Web技術領域&#xff0c;CSS Web前端框架已成為構建現代化、高效且響應式網頁的關鍵工具。它們不僅簡化了開發過程&#xff0c;還提高了代碼的可維護性和復用性。然而&#xff0c;面對眾多紛繁復雜的框架選擇&…

ByteBuddy字節碼增強器

Byte Buddy是java的字節碼增強器&#xff0c;一個優雅的運行時java代碼生成庫&#xff0c;使用時需要慎重 文檔地址&#xff1a;http://bytebuddy.net/#/tutorial-cn 1. 引入ByteBuddy <!-- https://mvnrepository.com/artifact/net.bytebuddy/byte-buddy --><depend…

LeetCode---哈希表

242. 有效的字母異位詞 給定兩個字符串 s 和 t &#xff0c;編寫一個函數來判斷 t 是否是 s 的字母異位詞。 注意&#xff1a;若 s 和 t 中每個字符出現的次數都相同&#xff0c;則稱 s 和 t 互為字母異位詞。 代碼示例&#xff1a; //時間復雜度: O(n) //空間復雜度: O(1) c…

Java生成PDF筆記整理

引入依賴, groupId:com.itextpdf, version:8.0.4, artifactId如下kernel,io,layout,forms創建pdf對象try(ByteArrayOutputStream outputStream new ByteArrayOutputStream()){PdfWriter writer new PdfWriter(outputStream, new WriterProperties().setFullCompressionMode(t…

離線安裝python庫

1. 下載安裝包 在聯網機器上安裝 # 選擇符合目標架構的版本&#xff0c;主要是libc版本和python版本 pip download --platformmanylinux2010_x86_64 --only-binary:all: --python-version3.7.4 tabulate # 或者 pip download --platformmanylinux_2_5_x86_64 --only-binary:a…