Jmeter測試實踐:文件下載接口

一 Jmeter步驟

1.打開jmeter4.0,新建測試計劃,添加線程組。根據實際情況配置線程屬性。

2.添加HTTP請求。根據接口文檔進行配置。

Basic部分修改如下,Advanced部分保持默認。這里的參數id是文件的id,我進行了參數化,方便下載多個不同的文件。

3.添加CSV數據文件設置。

4.在HTTP請求下面添加BeanShell PostProcessor。強調一下,由于jmeter本身是不支持將文件保存到本地的,這里需要寫一點java代碼。

復制代碼

import java.io.*;
byte[] result = prev.getResponseData();
String file_name = "D:/download-files/${filename}-${index}.${fextension}";
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();

復制代碼

5.添加計數器。目的是區分每次下載的文件。

6.可以在HTTP請求下面添加響應斷言和斷言結果。

7.添加集合點(Synchronizing Timer)。

8.添加監聽器。包括查看結果樹、聚合報告(可配置將數據寫入一個文件test.jtl)、圖形結果、每秒事務數(jp@gc - Transactions per Second)、每秒點擊數(jp@gc - Hits per Second)、jp@gc - PerfMon Metrics Collector等。

二 文件下載接口測試總結

1.最好自己搭建測試環境,如果條件不夠,只能使用開發搭建的測試環境的話,一定要問清楚測試環境的軟硬件配置。比如說負載機與應用服務器是否在同一個局域網(如果跨局域網的話,會經過路由器,可能會有網絡瓶頸)?操作系統是Windows還是Linux?被測機器是物理機還是虛擬機?是否使用磁盤陣列等等。

2.win+R運行,輸入dxdiag,可查看計算機名,操作系統,系統型號,處理器,內存大小。

3.本次測試由于應用服務器不給開放端口,所以無法使用Jmeter自帶的性能監控插件,只能使用Windows自帶的perfmon遠程監控硬件性能。

4.計數器:使每次下載文件命名不同,方便區分。

5.后置處理器:添加一段java代碼,將文件下載到本地。

6.由于jmeter返回的是字節流,當數據量太大時,會發現jmeter完全卡住,為了防止這種情況發生,可以在查看結果樹勾選僅日志錯誤,讓其不顯示,提高性能。

7.測試文件下載接口,jmeter返回的是字節流,怎么判斷服務器有沒有完全返回?response header頭里面有一個content-lenth,添加斷言,可判斷文件是否下載完整。

8.下載的文件大小不超過10M?應該是jmeter的配置問題,具體沒弄清楚原因,重新下載一個jmeter就好了。

9.報錯java.lang.OutOfMemoryError: Java heap space?解決方式:jmeter報錯:內存溢出

10.CSV參數配置文件中千萬不要出現空行!因為jmeter會報錯:響應數據HTTP Status 500 & 后臺日志Typed variable declaration : Object constructor

2023最新Jmeter接口測試從入門到精通(全套項目實戰教程)

?

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

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

相關文章

vue基本運用之常見問題及案例代碼

前言 一些 Vue.js 的常見問題以及對應的案例代碼 Vue實例生命周期 問題描述:如何在Vue的生命周期鉤子中調用其他鉤子?案例代碼: new Vue({el: #app, created: function () {console.log(m

Redis哨兵(sentinel)

文章目錄 簡介搭建框架具體步驟主要文件參數開始配置 案例分析原有的master掛了 哨兵運行流程和選舉原理主觀下線客觀下線(Objectively Down)選舉出領導者哨兵(哨兵中選出兵王) 選新的master使用建議 簡介 將某一個從庫轉換為新主庫,繼續對外服務將某一個從庫轉換為…

?operator --- 標準運算符替代函數?

源代碼: Lib/operator.py operator 模塊提供了一套與Python的內置運算符對應的高效率函數。例如,operator.add(x, y) 與表達式 xy 相同。 許多函數名與特殊方法名相同,只是沒有雙下劃線。為了向后兼容性,也保留了許多包含雙下劃線的函數。為了…

Java - HashMap

數組和鏈表 數組: 存儲區間是連續,且占用內存嚴重,空間復雜也很大,時間復雜為O(1) 優點:是隨機讀取效率很高,原因數組是連續(隨機訪問性強,查找速度快&#x…

properties配置和讀取

如何配置和讀取屬性文件 1.屬性文件介紹1.1 什么是屬性文件1.2屬性文件規范1.3 屬性文件優缺點 2.屬性文件讀取4.spring和屬性文件4.1利用注解讀取4.2配置文件里直接引用 4.屬性文件寫入5.注意事項5.總結 1.屬性文件介紹 1.1 什么是屬性文件 Java開發中,我們經常需…

Qt6.5類庫實例大全:Qt Creator快速入門

哈嘍大家好,我是20YC編程小二!掃碼關注公眾號,現在可免費領取《C程序員》在線視頻教程哦!#下面開始今天內容# 1. Qt Creator介紹 Qt Creator是一個輕量級的跨平臺集成開發環境(IDE),專為使用Qt框架進行應用程序開發而…

華為OD機試真題-攀登者1-2023年OD統一考試(C卷)

題目描述: 攀登者喜歡尋找各種地圖,并且嘗試攀登到最高的山峰。 地圖表示為一維數組,數組的索引代表水平位置,數組的高度代表相對海拔高度。其中數組元素0代表地面。 例如[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0], 代表如下圖所示的地圖,地圖中有兩個山脈位置分別為 1,2,3,4,5和8…

基于深度學習的文本分類研究綜述

摘要 與傳統的機器學習模型相比,深度學習模型試圖模仿人的學習思路,通過計算機自動進行海量數據的特征提取工作。文本分類是自然語言處理中的一個重要應用,在文本信息處理過程中有著關鍵作用。過去幾年,由于深度學習研究的空前成…

NAND閃存市場2023年Q3增長2.9%,Q4有望激增20%

TrendForce報告顯示,NAND閃存市場在2023年第三季度出現了關鍵轉折,主要由三星的戰略性減產決定驅動。最初,市場對終端用戶需求的不確定性以及對平淡旺季的擔憂導致買家采取保守的方法,庫存低、采購慢。然而,隨著三星等…

華為新款筆記本搭載5nm麒麟芯片,來源成謎,可能讓大家失望了~

近日,華為公司悄悄推出了一款基于國產技術打造的全新商用筆記本——華為擎云L540。目前,華為擎云L540在京東平臺悄然上線的,尚未在華為官方渠道公開售賣。華為擎云L540搭載了麒麟9006C處理器,采用先進的5nm制程工藝,8 …

codeforces A. Morning

思路 模擬&#xff0c;按順序移動移動到對應位置貢獻為移動的步數&#xff0c;press的次數。 Think Twice, Code Once #include<bits/stdc.h> #define il inline #define get getchar #define put putchar #define is isdigit #define int long long #define dfor(i,a…

openGauss學習筆記-150 openGauss 數據庫運維-備份與恢復-物理備份與恢復之gs_backup

文章目錄 openGauss學習筆記-150 openGauss 數據庫運維-備份與恢復-物理備份與恢復之gs_backup150.1 背景信息150.2 前提條件150.3 語法150.4 參數說明150.5 示例 openGauss學習筆記-150 openGauss 數據庫運維-備份與恢復-物理備份與恢復之gs_backup 150.1 背景信息 openGaus…

錯題總結(四)

1.【一維數組】輸入10個整數&#xff0c;求平均值 編寫一個程序&#xff0c;從用戶輸入中讀取10個整數并存儲在一個數組中。然后&#xff0c;計算并輸出這些整數的平均值。 int main() {int arr[10];int sum 0;for (int n 0; n < 10; n){scanf("%d", &arr…

[完美解決]Accelerate設置單卡訓練報錯,成功設置單卡訓練

報錯內容 ValueError: Less than two GPU ids were configured and tried to run on on multiple GPUs. Please ensure at least two are specified for --gpu_ids, or use --gpu_idsall. ValueError:配置了少于兩個GPU id&#xff0c;并試圖在多個GPU上運行。請確保為——gpu…

小黑子——springBoot基礎

springBoot簡單學習 一、SpringBoot簡介1.1 springBoot快速入門1.1.1 開發步驟1.1.2 對比1.1.3 官網構建工程1.1.3 SpringBoot工程快速啟動 1.2 springBoot概述1.2.1 起步依賴I. 探索父工程II. 探索依賴III. 小結 1.2.2 程序啟動1.2.3 切換web服務器-jetty 二、配置文件2.1 配置…

C語言精選——選擇題Day43

第一題 1. 使用malloc系統調用分配的內存是在什么上分配的&#xff1f; A&#xff1a;棧 B&#xff1a;堆 答案及解析 B malloc開辟的空間都是在堆上申請的內存空間&#xff0c;但是我們平常定義的定長數組之類的&#xff0c;都是在棧上開辟的空間&#xff1b; 第二題 2. C語言…

scala變量與變量類型

1.6 變量與類型&#xff08;重點&#xff09;1.6.1 變量推斷1.6.2 多變量定義1.6.3 var和val的區別 1.6.3.1 是否可變 1.6.3.2 延遲加載 1.6 變量與類型&#xff08;重點&#xff09; val修飾的變量&#xff0c;相當于Java中final修飾的變量; // 定義常量s1&#xff0c;使用…

[每周一更]-(第76期):Go源碼閱讀與分析的方式

讀源碼可以深層理解Go的編寫方式&#xff0c;理解作者們的思維方式&#xff1b;也有助于對Go語法用法深刻的理解&#xff0c;我們從這一篇說一下如何讀源碼&#xff0c;從哪些源碼著手&#xff0c;從 簡單到深入的方式學習源碼&#xff1b; 學習源碼也是一個修煉過程&#xff0…

「斗破年番」卡點俠蕭炎又卡點救人,四長老毒氣攻心,黑皇城尋寶

Hello,小伙伴們&#xff0c;我是拾荒君。 《斗破蒼穹年番》第74集如約而至&#xff0c;帶給觀眾們更多的驚喜與感動。這一集中&#xff0c;蕭炎的體內魔毒斑暫時被厄難毒體所壓制&#xff0c;他決定回到迦南學院&#xff0c;尋求斗尊強者的幫助解決這個問題。然而&#xff0c;…

深入理解 Flask 中的 Session 和 Cookies

在構建 web 應用時,管理用戶的狀態和數據是至關重要的。Flask,作為一個靈活的微型 web 框架,提供了會話(Session)和 Cookies 管理的能力。本文將深入探討 Flask 中的會話和 Cookies 的概念、工作機制以及應用實例,為讀者提供全面而詳細的理解。 會話和 Cookies 的基本概…