jmeter登錄接口生成一批token并寫入csv文件

背景:大部分項目真實的業務接口都是需要token鑒權的,想對一批核心業務接口進行并發壓測,必然要先生成一批token給這些接口并發循環調用。

基本的思路是這樣的:一批手機號csv文件? -》登錄接口循環讀取csv文件并生成token -》每次調用生成的token寫入到存放token的csv文件中 -》其他所有接口讀取csv文件中的token -》生成匯總報告。

jmeter 測試計劃的整體結構圖:

核心步驟:

(一)配置手機號csv數據文件設置

(二)添加json提取器,提取token變量

(三)添加Bean shell后置處理器

這段BeanShell的腳本代碼就是將登錄接口獲得的token寫入到csv文件中。

尤其注意,此處fw.write("${token}")這樣寫會報文件寫入異常,只能用vars.get("token"),我這邊壓測的環境會報錯。

代碼粘貼如下:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

// 獲取token變量值
String token = vars.get("token");

// 文件路徑 - 注意使用雙反斜杠或正斜杠
String filePath = "D:\\jmeter-jmx\\壓測\\生成號生成的token.csv";?

try {
? ? FileWriter fw = new FileWriter(filePath, true); // true表示追加模式
? ? fw.write(token + "\n");
? ? fw.close();
} catch (IOException e) {
? ? log.error("寫入文件失敗: " + e.getMessage());
}

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;// 獲取token變量值
String token = vars.get("token");// 文件路徑 - 注意使用雙反斜杠或正斜杠
String filePath = "D:\\jmeter-jmx\\壓測\\生成號生成的token.csv"; try {FileWriter fw = new FileWriter(filePath, true); // true表示追加模式fw.write(token + "\n");fw.close();
} catch (IOException e) {log.error("寫入文件失敗: " + e.getMessage());
}

(四)讀取csv中的token供其他所有需要鑒權壓測的接口使用

經過前面的步驟已經生成了token備用,此時可以禁用手機號登錄接口。

注意是在線程組下添加csv數據文件,這樣只需加載一次csv數據文件就能被線程組下的接口共用。

因為我的token文件首行沒有標題,所以不忽略首行。

查詢用戶信息接口要鑒權,所以請求頭要帶上token。

(五)配置壓測參數和觀察結果匯總

用10個線程持續壓測10s

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

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

相關文章

技術篇-2.3.Golang應用場景及開發工具安裝

Golang 雖然語法簡潔,上手也較快,但其在高并發、微服務和云原生領域的優勢明顯,要真正精通并靈活運用仍需積累大量實踐經驗。與 Java 借助重量級框架不同,Go 傾向于使用標準庫和輕量級第三方包來構建高性能、低延遲的系統。 1.1應…

Java面試問題基礎篇

面向對象 面向對象編程:拿東西過來做對應的事情 特征: 封裝:對象代表什么,就要封裝對應的數據,并提供數據對應的行為 繼承:Java中提供一個關鍵字extends,用這個關鍵字可以讓一個類和另一個類…

SpringBoot的前世今生

1. Spring Spring 特性:IOC、AOP、DI, Spring:解決對象耦合的問題,在 applicationContext.xml 中申明 bean,Spring在啟動時會解析xml文件進行裝載,當需要用對象時直接從容器中拿取bean。 Spring萬能膠&a…

微信小程序自行diy選擇器有效果圖

效果圖 實現思路 主要運用到小程序自帶視圖容器《swiper》 運用到的屬性《vertical》《display-multiple-items》《current》《animationfinish》 滑動方向變為縱向 vertical:true 顯示的滑塊數量 display-multiple-items:5 當前所在滑塊的 index curr…

【實用教程】如何快速搭建一套私有的埋點系統?

這篇教程將基于開源項目-ClkLog,教大家快速搭建一套自有的埋點系統,從0開始完成數據采集、分析與展示,全流程掌控用戶行為數據。 ClkLog是一款支持私有化部署的全開源用戶行為數據采集與分析系統,兼容Web、App、小程序多端埋點&am…

falsk模型-flask_sqlalchemy增刪改查

1、增、刪、改 增 home_bp.route(/useradd) def user_add():users []for i in range(10,20):user User()user.name 冰冰 str(i)user.age 20iusers.append(user)try:db.session.add_all(users)db.session.commit()return jsonify({code:1,info:success})except Exception…

【專題】機器學習期末復習資料

機器學習期末復習資料(題庫) 鏈接:https://blog.csdn.net/Pqf18064375973/article/details/148105494?sharetypeblogdetail&sharerId148105494&sharereferPC&sharesourcePqf18064375973&sharefrommp_from_link 【測試】 Art…

SpringCloud Alibaba微服務-- Sentinel的使用(筆記)

雪崩問題: 小問題引發大問題,小服務出現故障,處理不當,可能導致整個微服務宕機。 假如商品服務出故障,購物車調用該服務,則可能出現處理時間過長,如果一秒幾十個請求,那么處理時間過…

5:OpenCV—圖像亮度、對比度變換

1.更改圖像和視頻的亮度 更改亮度 更改圖像的亮度是常用的點操作。在此操作中,圖像中每個像素的值應增加/減少一個常數。要更改視頻的亮度,應對視頻中的每一幀執行相同的操作。 如果要增加圖像的亮度,則必須為圖像中的每個像素添加一些正常…

【工作流】Fastgpt配置豆包模型-火山引擎

V4.9.7 Fastgpt現在不通過oneapi 來配置模型和渠道了, 可以直接在頁面進行設置 首先在賬號- 模型提供商里面 填入豆包的信息: 渠道名隨便填,廠商選豆包, 然后選3個模型,如圖所示 如果沒有填入模型映射的話是沒辦法 …

2025年系統架構師---綜合知識卷

1.進程是一個具有獨立功能的程序關于某數據集合的一次運行活動,是系統進行資源分配和調度的基本單位(線程包含于進程之中,可并發,是系統進行運算調度的最小單位)。一個進程是通過其物理實體被感知的,進程的物理實體又稱為進程的靜態描述,通常由三部分組成,分別是程序、…

LangChain4j入門AI(六)整合提示詞(Prompt)

前言 提示詞(Prompt)是用戶輸入給AI模型的一段文字或指令,用于引導模型生成特定類型的內容。通過提示詞,用戶可以告訴AI“做什么”、 “如何做”以及“輸出格式”,從而在滿足需求的同時最大程度減少無關信息的生成。有…

如何使用 Docker Compose 部署 Immich

如何使用 Docker Compose 部署 Immich Immich 是一個開源的自建照片和視頻備份解決方案,通過 Docker 部署可以快速構建一個穩定的自主管理系統。本文將帶你一步步完成使用 Docker Compose 部署 Immich 的過程,幫助你在生產環境中實現高效的媒體管理。 1…

Mac遠程連接Windows電腦教程

在 Mac 上通過微軟官方遠程桌面工具(Windows App)連接局域網內的 Windows 電腦,需按照以下步驟操作: 一、準備工作 確認 Windows 版本支持遠程連接 Windows 專業版/企業版/教育版 支持遠程桌面功能。家庭版不支持,需使…

從0到1打造AI Copilot:用SpringBoot + ChatGPT API實現智能開發助手

本文將從0到1系統性地講解如何基于SpringBoot與OpenAI ChatGPT API打造一款智能開發助手(AI Copilot)。文章首先介紹AI Copilot的背景與價值,接著深入架構設計與環境準備,然后通過詳盡的代碼示例演示SpringBoot項目的搭建、依賴配…

Crawl4AI:高效的AI數據抓取工具

在大數據時代,抓取并處理大量數據是進行人工智能(AI)研究與開發的基礎。而網絡爬蟲是獲取網頁數據的重要工具。今天,我想介紹一個功能強大的爬蟲框架——Crawl4AI,它為數據抓取和機器學習任務提供了無縫的支持。Crawl4…

從單鏈表 list 中刪除第 i 個元素--Python

從單鏈表 list 中刪除第 i 個元素 一、問題引入二、解題步驟1.思維導圖2.解題步驟 三、代碼實現四、個人總結 一、問題引入 請編寫程序,將 n 個整數順次插入一個初始為空的單鏈表的表頭。隨后對任意給定的位序 i,刪除鏈表中第 i 個結點。注意&#xff1…

git學習與使用(遠程倉庫、分支、工作流)

文章目錄 前言簡介git的工作流程git的安裝配置git環境:git config --globalgit的基本使用新建目錄初始化倉庫(repository)添加到暫存區新增/修改/刪除 文件狀態會改變 提交到倉庫查看提交(commit)的歷史記錄git其他命令…

九、日志分析和系統故障排查

目錄 1、日志分析1.1、日志介紹1.1.1、日志的功能1.1.2、日志文件的分類1.1.3、日志保存位置1.2、rsyslog服務1.2.1、發送日志到遠程日志服務器1.3、查看日志文件1.3.1、/var/log/messages文件的內容示例1.3.2、用戶登錄、退出系統的相關日志1.4、日志級別1.5、程序日志分析1.6…

C++ 非類成員變量 非類成員函數 全局變量 使用

1 使用特點 加 :: 變量使用 #include <iostream> using namespace std; int qwer 100; int asdf 900; void sitl(){std::cout <<"globe dog is sitting." << std::endl; }class Cat { public:static int num;}; int Cat::num 99;class Dog { …