、JMETER與它的組件們

os進程取樣器

這個取樣器可以讓jmeter直接調用python寫的測試數據

?這樣就可以調用python寫的測試數據給到jmeter進行調用

注意:1建議python返回轉json格式dumps一下;2py文件中需要把結果打印出來,可以不用函數直接編寫

?傳到jmeter之后可以用json提取出來給后面的接口使用

JSON提取器與Debug Sampler

我們平時會遇到很多JSON格式的接口返回,我們需要提取參數可以用JSON提取器,同時配合自帶的調試器來進行調試。

?JSON提取器

Name of created variables:提取的值存放的變量名稱
JSON Path expression:表達式,就是剛在在結果樹中驗證的表達式,可以同時使用多個表達式,用分號隔開
Match No:0 隨機 1第一個 -1所有
Compute concatenation var:如果匹配所有時,就將所有值存入變量名_ALL 中
Default Value:提取不到值時默認值
我們使用Dummy sampler來mock一個返回(這里不會可以上一篇)

?
{"topic":"mock_api","data":{"errormes":"","response":[{"name":"A","age":18},{"name":"B","age":30}]}}?

現在我們來提取age這個字段,這里會分享不同的方法來取值

第一種:一層一層從上至下取age=18這個值

1

2

//每一層就是一個".",因為response是個列表,我們去索引為0

$.data.response[0].age

?第二種:有條件的篩選name=A的age,使用表達式:[?(@.key == value)]

//$..直接去找response字段,根據表達式去找name是A的age
$..response[?(@.name=="A")].age

第三種:直接根據表達式找,并且可以一次性提取多層多變量

// Result[0]={"name":"A","age":18}
$..[?(@.name=="A")].["age","name"]
// Result[0]=18
$..[?(@.name=="A")].age

效果展示

?計數器

?然后我們設置不同的線程和循環次數來看看效果

設置線程1,循環3

?設置線程2,循環3

?設置線程2,循環3,勾選上方計數器中的與每用戶獨立的跟蹤計數器

??設置線程2,循環3,勾選上方計數器中的與每用戶獨立的跟蹤計數器 和 在每個線程組迭代上重置計數器

?while邏輯控制器、循環控制器、if邏輯控制器和測試活動

這兩個我們放在一起,假設我們需要去判斷循環的次數大于5就自動跳出循環

while控制器

?填入?${__jexl3("${num}" != "5",)}

?循環五次后退出,這里需要注意的是while條件中一般只會使用javaScript或者jexl3(這兩個都是在函數助手中查看,輔助編寫)

循環控制器+if控制器

?勾選上永遠,這樣就會一直循環(這里勾選上只要是為了和上面while控制器模擬同一個場景,一般不會勾選永遠,下面在做if判斷,這樣太麻煩了)

我們在for循環下面增加if控制器去判斷是否滿足我們需要的條件,if下面增加一個動作控制器,如果滿足if條件就Break,跳出循環

if條件填入?${__jexl3("${num}" == "5",)}

這樣就達到和while相同的效果了

?斷言

?漢化過后斷言就很好理解,這里講一下模式匹配規則:

包括(contains):包含指定的某個或多個字符串,支持正則表達式

匹配(match):完全匹配指定的字符串,判斷為成功,支持正則表達式

相等(equals):響應需要完全匹配指定的字符串,不支持正則

字符串(Substring):響應中需要包含指定字符串,不支持正則

否(Not) 和 或者(or):就是對上述判斷做的邏輯運算

?隨機變量

在配置元件中有個隨機變量簡單好用

HTTP鏡像服務器

可以理解做了一個擋板,把我們自己當做服務器,把我們自己收到的請求原封不動的顯示出來,方便調試請求

?設置好服務器記得點擊啟動

?這時候請求的數據就會全部顯示在你面前了

JDBC

JDBC鏈接數據庫

鏈接數據庫我們需要一個鏈接數據的jar包:MySQL :: Download MySQL Connector/J (Archived Versions)

?步驟

1 測試計劃中添加上方下載的jar包

2 添加一個線程組 添加一個jdbc鏈接配置器

DataBase URL:庫名+?+ useUnicode=true&characterEncoding=utf8,加入后綴防止亂碼

3 取樣器中添加一個jdbc request

?4把需要取得值放入變量

1

2

value=vars.getobject("resultserial_nos").get(8).get("serial_number");

vars.put(serial_number,value);

?同步定時器

?同步定時器設置了集合點,達到并發的作用

說到并發繞不開的就是并行:并發其實就是任務切換,而并行就是多個進程同時進行,Jmeter也提供了并發插件這里不做贅述,有興趣的可以去插件管理內自己下載:Parallel Controller

事務控制器

我們需要去測試幾個接口的混合場景下的性能,就需要把幾個接口放到一個事務中

stepping Thread Group + jp@gc - Transactions per Second + jp@gc - Response Times Over Time

線程組中有個stepping thread group可以幫助我們不斷加壓增加線程組數量來查看不同壓力下的tps

?安裝插件: jpgc - Standard Set這里有jp@gc - Transactions per Second可以用這個查看每秒事務處理

縱坐標為TPS橫坐標為時間

縱坐標為請求響應時間

?

作為一個軟件測試的過來人,我想盡自己最大的努力,幫助每一個伙伴都能順利找到工作。所以我整理了下面這份資源,現在免費分享給大家,有需要的小伙伴可以關注【公眾號:開心螺螄粉】自提!

軟件測試面試文檔

我們學習必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節等一線互聯網大廠最新的面試資料,并且有字節大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。在這里插入圖片描述

在這里插入圖片描述

行動吧,在路上總比一直觀望的要好,未來的你肯定會感謝現在拼搏的自己!如果想學習提升找不到資料,沒人答疑解惑時,請及時加入群:1150305204,里面有各種測試開發資料和技術可以一起交流哦。

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

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

相關文章

你真的了解C語言中的【柔性數組】嗎~

柔性數組 1. 什么是柔性數組2. 柔性數組的特點3. 柔性數組的使用4. 柔性數組的優勢 1. 什么是柔性數組 也許你從來沒有聽說過柔性數組這個概念,但是它確實是存在的。 C99中,結構體中的最后?個元素允許是未知大小的數組,這就叫做柔性數組成員…

MyBatis 學習(五)之 高級映射

目錄 1 association 和 collection 介紹 2 案例分析 3 一對一關聯和一對多關聯 4 參考文檔 1 association 和 collection 介紹 在之前的 SQL 映射文件中提及了 resultMap 元素的 association 和 collection 標簽,這兩個標簽是用來關聯查詢的,它們的屬…

算法--時空復雜度分析以及各個數據量對應的可使用的算法(C++;1s內)

這里寫目錄標題 由數據范圍反推算法時間復雜度以及算法內容分析時間復雜度看循環實例1實例2 固定時間復雜度快排和歸并排序二分高精度算法雙指針算法單鏈表插入刪除操作棧和隊列的操作單調棧和單調隊列KMPTire并查集堆哈希表BFS、DFS圖的深度優先、寬度優先遍歷dijkstra算法樸素…

題目 1037: [編程入門]宏定義的練習

問題描述: 輸入兩個整數,求他們相除的余數。用帶參的宏來實現,編程序。 樣例輸入: 3 2 樣例輸出: 1 代碼分析: 這段代碼實現了輸入兩個整數,然后使用帶參數的宏計算它們相除的余數&…

「MySQL」深入理解MySQL中常用的SQL函數

「MySQL」深入理解MySQL中常用的SQL函數 窗口函數參考文章1. COALESCE 函數2. USING 函數3. LEAD 函數4. interval 函數5. INSTR 函數6. substring_index 函數7. LENGTH 函數和 CHAR_LENGTH 函數 窗口函數參考文章 SQL窗口函數 1. COALESCE 函數 COALESCE 函數的作用是從一…

瑞_Redis_Redis的Java客戶端

文章目錄 1 Redis的Java客戶端1.1 Jedis快速入門1.1.1 入門案例1.1.1.1 項目構建1.1.1.2 引入依賴1.1.1.3 建立連接1.1.1.4 釋放資源1.1.1.5 測試1.1.1.6 完整測試類代碼 1.1.2 Jedis連接池1.1.2.1 連接池工具類1.1.2.2 改造原始代碼 🙊 前言:本文章為瑞…

基于單片機的聲光控制節能燈設計

摘 要:在當今社會,節約用電是低碳生活的基本行為之一,但是一些公眾場所電力浪費現象依然存在,特別是長明燈、常亮屏等屢見不鮮,造成了嚴重的電力浪費。針對這種電力浪費現象,該文基于STC89C52單片機設計了一種聲光控制節能燈,利用光敏電阻、光信息及語音信號控制電路收集…

常用sql語句及其優化

文章目錄 介紹常用sql語句1. 數據查詢1.1 SELECT 語句1.2 DISTINCT 關鍵字1.3 WHERE 子句1.4 ORDER BY 子句1.5 LIMIT 關鍵字 2. 數據更新2.1 INSERT INTO 語句2.2 UPDATE 語句2.3 DELETE FROM 語句 3. 數據管理3.1 CREATE TABLE 語句3.2 ALTER TABLE 語句3.3 DROP TABLE 語句 …

藍橋輔導之管道

藍橋輔導之管道 核心思想&#xff1a;二分 二分時間 若t時刻成立 則之后也一定成立將mid時刻時每個閥門的水的流動區間加入對組 合并區間 最終判斷是否覆蓋全管道l1 && r m; #include <iostream>#include <cstring>#include <algorithm>#define…

批量自動加好友神器!微信快速擴友秘籍!

對于一些個人或者企業來說&#xff0c;傳統的人工添加好友方式往往會出現效率低下&#xff0c;費時費力的問題。那么&#xff0c;有沒有一種快速、便捷、安全的方式來解決這個問題呢&#xff1f;答案當然是肯定的&#xff0c;那就是通過使用微信管理系統來解決這一問題。 在微…

基于java+springboot景區行李寄存管理系統設計和實現

基于javaspringboot景區行李寄存管理系統設計和實現 博主介紹&#xff1a;多年java開發經驗&#xff0c;專注Java開發、定制、遠程、文檔編寫指導等,csdn特邀作者、專注于Java技術領域 作者主頁 央順技術團隊 Java畢設項目精品實戰案例《1000套》 歡迎點贊 收藏 ?留言 文末獲取…

5GC SBA架構

協議標準&#xff1a;Directory Listing /ftp/Specs/archive/23_series/23.501/ (3gpp.org) NF描述說明NSSFNetwork Slice Selection Function網絡切片選擇&#xff0c;根據UE的切片選擇輔助信息、簽約信息等確定UE允許接入的網絡切片實例。NEF Network Exposure Function網絡開…

疾控中心的污水采樣瓶用的是什么材質

疾控中心的污水采樣瓶采用的材質是聚乙烯或聚丙烯塑料。這種材質的污水采樣瓶具有耐腐蝕、耐高壓、無毒無味、重量輕、易于攜帶等優點。此外&#xff0c;這種材質的污水采樣瓶還可以在高溫下消毒&#xff0c;不會變形或破裂。 疾控中心的污水采樣瓶通常有不同的容積和形狀&…

Harbor高可用(haproxy和keepalived)

Harbor高可用&#xff08;haproxy和keepalived&#xff09; 文章目錄 Harbor高可用&#xff08;haproxy和keepalived&#xff09;1.Harbor高可用集群部署架構1.1 主機初始化1.1.1 設置網卡名和ip地址1.1.2 設置主機名1.1.3 配置鏡像源1.1.4 關閉防火墻1.1.5 禁用SELinux1.1.6 設…

SpringBoot 自定義映射規則resultMap association一對一

介紹 例&#xff1a;學生表&#xff0c;班級表&#xff0c;希望在查詢學生的時候一起返回該學生的班級&#xff0c;而一個實體類封裝的是一個表&#xff0c;如需要多表查詢就需要自定義映射。 表結構 班級表 學生表 SQL語句 SELECT a.id,a.name,a.classes,b.id classes…

Charles抓包 - 安裝、激活、證書配置

最近剛好又遇到了抓包的需求&#xff0c;之前一直使用 Fiddler 抓包&#xff0c;這幾年一直聽大家都在用 Charles 抓包&#xff0c;正好一起了解下&#xff08;一般建議掌握一種抓包方式即可&#xff0c;都可以解決同種需求場景&#xff09; 抓包 Fiddler抓包 Charles 下載、安…

[機器視覺]halcon應用實例 多ROI模板匹配

本示例是單ROI的功能擴展示例&#xff0c;多ROI.后面有空了將出用戶自定義ROI。 比單ROI增加ROI區域的連接和合并。還有for的實例應用。步驟同單ROI一樣。不懂的可以看一下單ROI文章。[機器視覺]halcon應用實例 單ROI模板匹配-CSDN博客 有需要的可以【點贊】【關注】【收藏】…

2024年新提出的算法|LEA愛情進化算法(Love Evolution Algorithm)

Love Evolution Algorithm: a stimulus–value–role theory-inspired evolutionary algorithm for global optimization 愛情進化算法Love Evolution Algorithm&#xff0c;LEA&#xff0c;于2024年2月發表在中科院3區SCI期刊 The Journal of Supercomputing。 1、簡介 本文提…

幸運星數(爺再也不想用pow了)

解法&#xff1a; 暴力 #include <iostream> #include <vector> using namespace std; #define endl \nint main() {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);int n;long long sum 0, a;cin >> n;for (int i 1; i < n; i) {a 1;for (in…

#python升級#CentOS 7 python升級到3.11.6

在 CentOS 7 上升級 Python 版本可能會比較復雜&#xff0c;因為 CentOS 7 默認安裝的是 Python 2.7&#xff0c;并且系統很多組件依賴于它。不過&#xff0c;可以通過以下步驟嘗試升級到 Python 3.11.6&#xff1a; 安裝必要的依賴&#xff1a; sudo yum install gcc openssl-…