Jmeter接口測試 ,這應該是全網最詳細的教程了

🍅 視頻學習:文末有免費的配套視頻可觀看

🍅?關注公眾號【互聯網雜貨鋪】,回復 1?,免費獲取軟件測試全套資料,資料在手,漲薪更快

一、Jmeter 的使用步驟

打開Jmeter 安裝包,進入\bin 中,找到"jmeter.bat", 點擊打開即可。

在下圖打開的Jmeter 頁面中,右鍵“測試計劃” -> “添加” -> "Threads(Users)" -> “線程組”, 建立線程組。

右鍵“線程組” -> “添加” -> “Sample” -> “HTTP請求”, 輸入“服務器名稱或IP”,對應的端口號,http默認端口號80,可以不寫。

以下請求為GET, 所有“方法”那選擇“GET”, 輸入對應的路徑,添加參數及值。

注意: “服務器名稱或IP”中不用輸入http://, 請求時會自動加入(eg, 輸入api.test.cn).

右鍵“線程組” -> “添加” -> “監聽器” -> “察看結果數”, 添加“察看結果數”, 以察看運行后的結果,如果所示。

這是一個簡單的接口請求例子。

二、接口請求實例

1. “用戶定義的變量” 的應用

以獲取學生信息接口(stu_info) 為例,添加一個“用戶定義的變量”,設置變量"host" 以及值,這樣在獲取學生信息接口(stu_info)就可以通過"${host}"取得“服務器名稱或IP”的值。

登陸接口(login)接口也可以應用“用戶定義的變量”的方法,如上圖所示,在“用戶定義的變量”中添加"username", "password" 變量及對應的值, 應用到登陸接口(login)接口請求中即可。

2. "HTTP Cookie 管理器"的應用

以金幣充值接口(gold_add)為例,建立一個HTTP請求改名“金幣充值”,選取請求方式POST, 輸入對應的host, path以及同請求一起發送的參數和值。

由于此接口有權限驗證,需要admin用戶才可以做操作,需要添加cookie, 因此需要添加"HTTP Cookie 管理器"以傳遞Cookie。

添加"HTTP Cookie 管理器" 方法如下圖所示, 右鍵“金幣充值” -> “添加” -> “配置元件” -> "HTTP Cookie 管理器"?

設置Cookie 的名稱(即username 的值),值(即login Response 中的sign 值),域(已在“用戶定義的變量”中設置,只需輸入變量即可,格式為${host})

最后可以通過“察看結果數”的響應數據查看結果。

3. 建立接口間的關聯

以下以登陸接口(login)和金幣充值接口(gold_add)為例,在這兩個接口間建立關聯,讓金幣充值接口(gold_add)可以實時取得登陸接口(login)的"sign" 值,不必再“HTTP Cookie 管理器”中手動輸入最新的sign 值。

從“察看結果樹”可以看出,登陸接口(login)的Response 結構為Json格式, sign 在 login_info 里面一層。

3.1 應用"jp@gc - JSON Path Extractor" 來實現

右鍵“登陸” -> “后置處理器 -> "jp@gc - JSON Path Extractor"?

通過“察看結果數”得到Response 的結果后, 將“JSONPath Expression” 輸入"$.login_info.sign", 設置變量"sign2", 給金幣充值接口(gold_add)用

因此需要在“HTTP Cookie 管理器”中將${username}的值輸入${sign2},代替之前手動輸入的那一串碼。

3.2 右鍵“登陸” -> “后置處理器 -> "正則表達式提取器"?

輸入對應的值, "jp@gc - JSON Path Extractor" 中類似,將“引用名稱”輸入"sign2",以保證和“HTTP Cookie 管理器”的一致。將正則表達式中的式用login 接口返回的 "sign": "cd2b43f1688e472e3a516b5a2c6831e8", ?中的一串碼用(.*) 替換即可。

各參數的含義參考下表:

4. 設置斷言

以“增加學生”接口(add_stu)為例,增加響應斷言,以驗證添加的數據是否成功。如下圖所示設置

通過“察看結果數”可以看到“增加學生” 金幣結果為綠色,同時響應數據里的確有斷言中的設置的"1000"。

5. “HTTP信息頭管理器”的使用

以下圖中的“獲取所有學生信息” 為例,右鍵“獲取所有學生信息” -> “添加” -> “配置元件” -> "HTTP Cookie 管理器" , 輸入對應的名稱和值即可。

注意: ?這里的值需要輸入完整的url, 包括http:// (eg, 輸入http://api.test.cn)

6. POST 文件的使用方法

與其他POST請求中添加key-value, json 數據不同的是,這個需要在HTTP 請求中點擊“Flies Upload” tab, 點擊“添加”, 然后通過“瀏覽”上傳本地的文件。

注意: 參數名稱必須為"file"。

7. "CSV Data Set Config" 和 “函數助手對話框”的使用

以增加學生接口(add_stu)為例,在本地創建一個文件,添加name 和sex的值,對腳本設置5個線程或者循環5次,以加入這5個用戶。?

右鍵“線程組” -> “添加” -> “配置元件” -> "CSV Data Set Config",如果僅應用于“增加學生”接口的話,可以直接在“增加學生”接口下面創建"CSV Data Set Config"。

根據下圖添加對應的,"Variable Names" 輸入"name" 和"sex", 以逗號隔開,為避免插入的數據亂碼,將file encoding 設置為utf-8。

由于"CSV Data Set Config"中的變量名為name 和sex,因此在“增加學生”接口的"Body Data" 中將值分別替換為${name}, ${sex}。

由于“phone”的唯一性,每次插入一條學生信息時phone 都要求不一樣,所以對后面8位用隨機函數來實現。

8. 數據庫的應用

以下是JMeter 驅動數據庫列表:

以下以mysql 數據庫為例

添加一個"JDBC Connection Configuration", 根據上表中對mysql的要求設置下圖的值。

添加一個"JDBC Request", 由于在Query 中有insert 和select, 所以Query Type 需要選擇"Callable Statement", 如果是單個的select 或者insert,可以選取對應的Select Statement 和Update Statement。

通過察看結果數看到"JDBC Request" 請求成功,響應數據里返回insert 和select 的結果。

登陸mysql 數據庫,查詢發現和Jmeter 中通過察看結果數看到的結果一致。

?**注意點:修改Jmeter 中的中文亂碼要將"\bin" 路徑下的"jmeter.properties" 文件中設置為 "sampleresult.default.encoding=utf-8",如下所示。

對于Jmeter 里中文顯示不出來的問題,可以打開"\bin" 路徑下的"jmeter.properties" 文件,如下圖所示,將這幾個JS開頭的注釋去掉。

對于以上兩個問題,修改后,需將Jmeter 重啟才能起效。

同時,在這我為大家準備了一份軟件測試視頻教程(含面試、接口、自動化、性能測試等),就在下方,需要的可以直接去觀看,也可以直接【點擊文末小卡片免費領取資料文檔】

【全600集】少走99%的彎路!字節大佬耗費15天錄制的軟件測試教程,手把手教學,通俗易懂!0基礎小白快速進階大神,無私分享,拿走不謝!趕緊學起來!

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

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

相關文章

postman-使用Postman的模擬服務來模擬(mock)后端數據,完成前端模擬API調用

最近項目上比較忙,任務多時間緊,導致后端開發任務繁多,無法及時開發完畢,但是前端同學已經把對應功能開發完成,需要進行前后端聯調來驗證API及一些交互問題;這不能因為后端的進度來影響前端的工作完成情況&…

【Linux進程】馮·諾依曼體系結構以及操作系統的深入理解

📙 作者簡介 :RO-BERRY 📗 學習方向:致力于C、C、數據結構、TCP/IP、數據庫等等一系列知識 📒 日后方向 : 偏向于CPP開發以及大數據方向,歡迎各位關注,謝謝各位的支持 目錄 1.馮諾依曼體系結構特…

kafka和ZK的關系

zk相當于是kafka的一個基礎設施 Kafka是一種高吞吐量、可擴展的分布式發布訂閱消息系統,ZooKeeper是一個分布式協調服務,用于管理和協調分布式系統中的各種資源 Zookeeper:管理broker,consumer 創建broker后,向zk注冊…

適用于生物行業的樣本管理系統

在生物樣本管理系統的應用中,我們首先需要了解生物樣本的特點和要求。生物樣本具有多樣性和易變性,需要被妥善保存和跟蹤,以確保其質量和可用性。 因此,一個有效的生物樣本管理系統需要具備以下特點: 全面性&#xff1…

Spring Event的原理以及缺陷

原理:Spring 事件監聽機制及原理分析 - Admol - 博客園 (cnblogs.com) 使用bug:Spring Event 別瞎用!從我司的悲劇中,我總結了6 條最佳實踐!-騰訊云開發者社區-騰訊云 (tencent.com)

2024最新任推邦邀請碼是什么

任推邦是一款非常受歡迎的推廣APP,任推邦邀請碼是【222222】獲得現金獎勵和提成獎勵用戶可以通過邀請好友加入來獲取收益。2024最新的任推邦邀請碼是【222222】,小編已經給大家整理好了他趣許多的邀請碼,想要領取獎勵的小伙伴快來和小編一起了…

聚合函數()不要隨意加空格

報錯:1630 - FUNCTION link.SUM does not exist. Check the Function Name Parsing and Resolution section in the Reference Manual 解決方法:count、avg、sum等函數后緊隨的()之間不能加空格,去掉這個空格即可,因為count()、a…

js 監聽元素是否出現在可視區域--IntersectionObserver

觀察者模式監聽判斷dom元素是否在可視區域內 本項目是使用vue3的寫法。 1.IntersectionObserver IntersectionObserver可以用來自動監聽元素是否進入了設備的可視區域之內,而不需要頻繁的計算來做這個判斷。由于可見(visible)的本質是&…

融中穿刺路徑角度評估的C++技術實現

消融模型的三維渲染 我們以肝部為例,通常肝部在做消融手術規劃時有幾個步驟。 一三維重建: 對器官進行圖像分割; 對腫瘤的原發區域GTV進行勾畫。 二穿刺路徑的規劃: 路徑規劃當中有幾個約束:穿刺深度、危及器官的…

OpenAI推出首個AI視頻模型Sora:重塑視頻創作與體驗

鏈接:華為OD機考原題附代碼 Sora - 探索AI視頻模型的無限可能 隨著人工智能技術的飛速發展,AI視頻模型已成為科技領域的新熱點。而在這個浪潮中,OpenAI推出的首個AI視頻模型Sora,以其卓越的性能和前瞻性的技術,引領著…

SpringBoot快速整合Thymeleaf實現文件上傳案例

SpringBoot快速整合Thymeleaf實現文件上傳案例 文章目錄 SpringBoot快速整合Thymeleaf實現文件上傳案例1. 創建工程2. pom.xml文件2. application.yml 配置3. 前端fileupload.html4. 后端Controller 本案例環境: SpringBoot: 2.3.0.RELEASEJDK: 1.8前端模板: thymel…

【PHP進階】Redis批處理緩存

大家好,我是程序員若風,又到了技術分享時刻。 概要 在某些場景下,我們需要頻繁的使用到緩存,比如需要獲取多個key值,如果采用單個拿緩存的辦法,會造成網絡IO極大的浪費,所以我們需要用戶Redis…

Leetcode3036. 匹配模式數組的子數組數目 II

Every day a Leetcode 題目來源:3036. 匹配模式數組的子數組數目 II 解法1:KMP 設數組 nums 的長度為 m,數組 pattern 的長度為 n。 遍歷數組 nums 的每個長度是 n1 的子數組并計算子數組的模式,然后與數組 pattern 比較&…

JavaScript 設計模式之觀察者模式

觀察者模式 觀察者模式又被稱為發布-訂閱模式,使用一個對象來收集訂閱者,在發布時遍歷所有訂閱者,然后將信息傳遞給訂閱者,可以這樣來實現一個簡單的模式 const Observable (function () {let __messages {}return {register:…

win系統下安裝mysql5.7并配置環境變量、設置root用戶和服務啟動的詳細操作教程

本篇文章主要講解:win系統下安裝mysql5.7并配置環境變量、設置root用戶和服務啟動的詳細操作教程 日期:2024年2月22日 作者:任聰聰 一、mysql5.7版本的下載 官方下載地址:https://downloads.mysql.com/archives/community/ 步驟…

服務器生信環境配置腳本

服務器生信環境配置腳本的重要性在于它為生物信息學的數據分析提供了一個統一和標準化的計算環境。通過自動化的配置腳本,可以快速地在服務器上部署和設置生物信息學的軟件和依賴庫,確保分析的可重復性和準確性。這樣,生物信息學家和研究人員…

【鴻蒙 HarmonyOS 4.0】狀態管理

一、介紹 資料來自官網:文檔中心 在聲明式UI編程框架中,UI是程序狀態的運行結果,用戶構建了一個UI模型,其中應用的運行時的狀態是參數。當參數改變時,UI作為返回結果,也將進行對應的改變。這些運行時的狀…

Stable Diffusion 模型的概念、類型、下載、安裝、使用

本文收錄于《AI繪畫從入門到精通》專欄,專欄總目錄:點這里。 大家好,我是水滴~~ 我們在《Stable Diffusion WebUI 界面介紹》 時,第一個就講到了 Stable Diffusion 模型,那么這個模型是什么?該從哪兒下載&…

多輸入分類|GWO-CNN-LSTM|灰狼算法優化的卷積-長短期神經網絡分類預測(Matlab)

目錄 一、程序及算法內容介紹: 基本內容: 亮點與優勢: 二、實際運行效果: 三、算法介紹: 灰狼優化算法: 卷積神經網絡-長短期記憶網絡: 四、完整程序下載: 一、程序及算法內容…

【EI會議征稿通知】第五屆人工智能與機電自動化國際學術會議(AIEA 2024)

第五屆人工智能與機電自動化國際學術會議(AIEA 2024) 2024 5th International Conference on Artificial Intelligence and Electromechanical Automation 優秀評選已啟動,設置優秀論文、優秀報告及優秀海報多個獎項,豐厚獎金等…