自動化測試基礎 --- Jmeter

前置環境安裝

首先我們需要知道如何下載Jmeter

這里貼上下載網站Apache JMeter - Download Apache JMeter

我們直接解壓,然后在bin目錄下找到jemter.bat即可啟動使用

成功打開之后就是這個界面

每次打開可以用這種方式切換成簡體中文

或者直接修改properties文件修改對應的語言包

接口測試自動化基礎

我們都知道接口測試可以使用postMan或者使用瀏覽器直接查看數據

那我們為啥使用Jmeter呢?

筆者認為是因為Jmeter可以實現自動化

可以實現循環接口測試??

假設a接口對登錄依賴 我們可以提取登錄的驗證信息以某種形式傳給a接口

首先得先添加一個線程組(先使用一個線程)

這里的線程組就可以模擬多個用戶訪問了

接著我們就可以創建對應的HTTP請求了

為了查看結果,我們得再創建一個查看結果樹來進行查看接口返回的結果

我們不妨試一下,請求個api試試

本地寫了一個最簡單的測試一下結果

如果a對b有依賴關系我們就將b寫成一個代碼片段?

可以保存下來使用一個include模塊控制器即可

我們都知道不同環境都需要測試

開發環境/測試環境/預發布環境/發布環境

不同的環境測試改來改去比較繁瑣

我們就可以使用自定義變量

這樣我們每次只需要實現對相同變量的修改即可

這也是自動化最基礎的應用

對一個接口使用多組數據輸入咋辦???
無所謂,循環和csv文件導入會出手

對應的txt文件/csv一樣

第一行是變量名稱,可以在很多地方引用

JSON斷言

我們對于返回的結果總要進行一定的驗證

這里的驗證可以放在csv文件中作為預期結果

當http請求失敗后 我們會實現

通常我們可以判斷code和對應的message

具體情況具體分析 實現自動化驗證

對核心數據都需要測試

使用公共數據咋辦,下一個接口對上一個接口有依賴關系

我們直接使用Json提取器提取上一個接口的返回信息

比如登錄的token....

Jmeter連接數據庫

我們知道開發的信息數據來源一定是數據庫

有些時候我們可以直接連接數據庫驗證信息

比如說我現在要驗證1w個用戶的登錄

這時候使用csv肯定不行啊

或者是抽查某些數據

這時候我們使用JDBC連接數據庫

在這里填入mysql的jar包或者是對應的jar包驅動即可

然后我們直接寫sql即可

這里獲取的數據庫變量也是可以直接進行斷言的

Jmeter調試

這里可以看到目標結果和實際結果

注:我們不知道數據庫會返回對應多少條數據

所以下面設置的變量會變成 變量_1? 變量_2.....對應查出來的數據

隨機查出一條數據

ORDER?BY?RAND()? limit 1?

問題

假設我現在需要搞10000條數據來驗證咋辦?

有人說循環?? 多線程??

都不ok?

循環多次訪問數據庫很容易就造成死鎖了

多線程也是不到萬不得已不去用的,因為出錯概率很高且不好處理

這里就得使用V函數來操作了

使用這樣的方式在變量中加入一個子變量

Jmeter 梯度壓測

開始的時候使用多少個線程來壓測??

不清楚,使用梯度壓測性價比更高,逐步加壓

這里需要下載對應的jar包解壓放到對應的bin目錄下

下載地址:Install :: JMeter-Plugins.org

首先我們說說負載測試壓力測試和性能測試的區別

首先性能測試包括壓力測試和負載測試

負載測試主要就是觀察一個系統性能的拐點,第一次也可以做為基準測試的標準

壓力測試主要就是給服務器一定的壓力(一般在40%以下),進行穩定性測試,持續長時間查看一個系統的穩定程度

主要的指標就是并發數/吞吐量/錯誤率這樣

但是我們如何知道需要引入多少個線程呢

這里梯度壓測就登場了

我們只需要查看這個接口需要多少的性能指標 找到對應的性能拐點

同一時間去觀察一下此刻的線程數 就可以知道使用多少線程去測試這個接口了

然后我們還可以看匯總報告

一個發送多少個請求以及響應時間? 吞吐量? 錯誤率等....

加上這個圖就能實現以上功能了

但是別以為這就是壓測了

真正的壓測是需要知道對應的分析原因的

JVM? mq 緩存? 哪里出現了問題 調優才是關鍵

因為光靠一張圖開發也能輕松知道啊

我直接創建幾個線程不是輕輕松松

OK本期分享就到這里?

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

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

相關文章

目標檢測算法YOLOv8簡介

YOLOv8論文尚未發布,YOLOv8由Ultralytics公司推出并維護,源碼見:https://github.com/ultralytics/ultralytics ,于2024年1月發布v8.1.0版本,最新發布版本為v8.2.0,License為AGPL-3.0。 以下內容主要來自&am…

FFmpeg 中 -f 命令參數詳解

FFmpeg FFmpeg是一個開源的、功能強大的多媒體框架,它能夠處理幾乎所有格式的音頻和視頻文件。FFmpeg由Fabrice Bellard創立,并由Michael Niedermayer等人繼續開發。它包括了libavcodec(用于編解碼)、libavformat(用于格式轉換)、libavfilter(用于音視頻過濾)、libavd…

微信授權登錄01-PC端

目錄 ## 前言 1.準備工作 1.1 網站域名 1.2 微信開放平臺 2.授權授權登錄開發 2.1 前端開發 2.1.1 發起授權登錄跳轉至掃碼頁面 2.1.2 掃碼成功后回調處理 2.2 后端開發 2.2.1 根據code查詢用戶信息 2.2.2 自動注冊登錄 ## 后記 ## 前言 最近整了個AI助手網站&am…

React 學習-5

React 條件渲染: 與js中的寫法一致 注意:在 JavaScript 中,true && expression 總是返回 expression,而 false && expression 總是返回 false。 因此,如果條件是 true,&& 右側的元素就會被渲…

BL120協議Modbus RTU和Modbus TCP互轉

Modbus網關BL120是一款專注于Modbus協議之間相互轉換的通信設備。Modbus網關BL120支持多種下行采集協議,包括Modbus RTU和Modbus TCP,同時在上行轉發協議方面同樣支持Modbus RTU和Modbus TCP。Modbus網關為Modbus RTU和Modbus TCP協議的相互轉換提供了穩…

回爐重造java----單列集合(List,Set)

體系結構: 集合主要分為兩種,單列集合collection和雙列集合Map,區別在于單列集合一次插入一條數據,而雙列的一次插入類似于key-value的形式 單列集合collection 注:紅色的表示是接口,藍色的是實現類 ①操作功能: 增加: add()&am…

SRS流媒體服務器在Linux下的安裝

目錄 一、安裝 1、切換到管理員權限 2、先安裝基礎依賴環境 3、下載SRS源文件

引領AI數據標注新紀元:景聯文科技為智能未來筑基

在人工智能蓬勃發展的今天,數據如同燃料,驅動著每一次技術飛躍。在這場智能革命的浪潮中,景聯文科技憑借其深厚的專業實力與前瞻性的戰略眼光,正站在行業前沿,為全球的人工智能企業提供堅實的數據支撐。 全國布局&…

智能座艙語音助手產品方案

一、用戶調研與痛點分析 1.目標用戶分析 用戶畫像 性別女性年齡50地域2-3線城市職業退休或退居二線教育中專、 大專、 本科財務家庭財務管理者愛好享受生活、 照顧家庭標簽有閑有小錢二、產品定位與賣點提煉 購車目的 愉悅自我, 專屬于自己的座駕: 家…

bitmap requires a valid src attribute

關于作者:CSDN內容合伙人、技術專家, 從零開始做日活千萬級APP。 專注于分享各領域原創系列文章 ,擅長java后端、移動開發、商業變現、人工智能等,希望大家多多支持。 未經允許不得轉載 目錄 一、導讀二、概覽三、問題記錄四、 推…

ncnn 算子操作描述

ncnn 算子操作描述,具體查詢見 ncnn/docs/developer-guide/operators.md at master Tencent/ncnn GitHub 都是從上述地方copy過來的,做備份。 具體如下:(針對有些算子 用pytorch 實現了用例,可以對比學習&#xf…

Java學習筆記網站技術博客匯總

江南一點雨網站 https://www.javaboy.org/ 個人博客 https://yanbingzn.github.io/ CS-Notes 面試筆記 https://www.cyc2018.xyz/ JavaGuide(Java學習&面試指南) https://javaguide.cn/home.html SpringMVC 教程 https://springmvc.javaboy…

C++運算符重載(操作符重載)

運算符重載 1. 運算符重載基礎1.1 運算符重載語法1.2 運算符重載細節補充1.3 更多的運算符重載 2. 重載單目運算符3. 如何直接輸入輸出對象類型——重載運算符 << 和 >>3.1 單個對象實現 cou <<3.2 多個對象實現 cout<<3.3 右移運算符 輸入 cin >&g…

Excel-VBA報錯01-解決方法

【已刪除的部件:部件/xl/vbaProject.bin。(Visual Basic for Applications(VBA))】 1.問題復現&#xff1a; Win10 &#xff1b;64位 &#xff1b;Office Excel 2016 打開帶有宏的Excel文件&#xff0c;報錯&#xff1a;【已刪除的部件&#xff1a;部件/xl/vbaProject.bin。…

KBU1010-ASEMI新能源專用KBU1010

編輯&#xff1a;ll KBU1010-ASEMI新能源專用KBU1010 型號&#xff1a;KBU1010 品牌&#xff1a;ASEMI 封裝&#xff1a;KBU-4 最大重復峰值反向電壓&#xff1a;1000V 最大正向平均整流電流(Vdss)&#xff1a;10A 功率(Pd)&#xff1a;中小功率 芯片個數&#xff1a;4…

pandas數據清洗和統計實例

步驟&#xff1a; 統計每一個列的標簽個數去除或者填充某一列NaN值遍歷某一列分組統計在DataFrame中插入行在DataFrame中追加行 pandas讀取Json數據或csv數據 以一個json數據為例&#xff0c;只要json每一個object都一致就可以&#xff1a; # 讀取json或csv df_f pd.read_…

抖店選品都怎么選品?什么樣的產品更吸引人,更具有購買力?

大家好&#xff0c;我是電商花花。 抖店選品一直都是我們無貨源商家的核心問題&#xff0c;不管是出單、還是爆單&#xff0c;店鋪想要有銷量的前提下都是選品。 很多人一上來就是就是選品&#xff0c;沒有選品經驗還瞎選品&#xff0c;結果到最后選了一堆出單的產品&#xf…

回聲消除原理

回聲消除原理 回聲消除是一種音頻處理技術&#xff0c;用于消除聲學空間中發生的回聲。其基本原理如下&#xff1a; 1. 遠端信號估計 捕獲遠端揚聲器發出的信號&#xff08;通常通過麥克風&#xff09;。使用自適應濾波器估計遠端信號&#xff0c;即回聲信號。 2. 回聲信號…

用wordpress建外貿獨立站的是主流的外貿建站方式

WordPress因其易用性、靈活性和強大的功能支持&#xff0c;成為了外貿企業首選的網站建設平臺。 從技術和功能角度來看&#xff0c;WordPress提供了豐富的主題和插件&#xff0c;這些都是構建專業外貿網站所必需的。例如&#xff0c;有專門為外貿網站設計的主題和插件&#xf…

【棧】Leetcode 驗證棧序列

題目講解 946. 驗證棧序列 算法講解 在這里就只需要模擬一下這個棧的出棧順序即可&#xff1a;使用一個stack&#xff0c;每次讓pushed里面的元素入棧&#xff0c;如果當前棧頂的元素等于poped容器中的當前元素&#xff0c;因此就需要讓棧頂元素出棧&#xff0c;poped的遍歷…