jmeter實操簡要概述
jmeter和loadrunner2018年使用量大致持平。jmeter還是比較輕量的自動化測試工具。
jmeter最好用3.幾的版本,4.幾可能會有問題。
jmeter的打開方式:解壓文件夾,bin>Apache jmeter.jar (前提是有jdk)否則執行jmeter.bat
*Jmeter可以做什么?
接口測試,大部分都用來做接口測試。性能測試一般用load'runner,更加智能。
性能測試
代理服務器
jmeter錄制腳本:
原理:把jmeter作為代理服務器。
代理:瀏覽器-服務器(正常流程)雙向循環
瀏覽器-jmeter-服務器(代理)雙向循環
一定要用jmeter去錄制么?
不一定。例如:badboy 手寫(清楚的了解jmeter的元件)
一定要做過濾處理么?為什么要過濾?
接口測試:一定要過濾。因為針對的對象就是接口,因此其他js了,jsp了過濾掉即可。
性能測試:不一定要過濾。 UI層面的也不能過濾。
錄制腳本有什么用?模擬用戶使用情況,跑一遍系統的流程,看能不能跑通??梢赃@樣簡單的理解。
什么是接口,接口的本質是什么?
前端與后臺的橋梁,數據傳輸的通道。
可以利用哪些工具完成接口測試?
fiddler(重點,可以抓包。) jmeter postman soapui,以此類推,自己拓展。
HTTP請求包括哪些內容?
請求頭,請求參數,響應頭,響應內容,狀態碼。
請求頭:https://jingyan.baidu.com/article/375c8e19770f0e25f2a22900.html
狀態碼:https://blog.csdn.net/dufufd/article/details/53112184
如果不讓錄制腳本,怎么獲取接口?
1.找開發
2.F12
3.fiddler charles 抓包工具。(重點)
jmeter接口測試參數化:
參數化:${demo}。兩種方法:用戶自定義數據。另一種CSV Data Set Config
單個接口的測試-->跑場景
利用Jmeter去做自動化測試:
cookie-->后續的請求需要先登錄才能操作-->添加一個Http cookie管理
如何獲取對應某些數據的ID?
利用jmeter中的正則表達式。在以發出的http請求中想要獲取響應數據的ID,那么就在對應的HTTp請求中右鍵
后置處理器中添加正則表達式提取器。選擇主體-->引用名稱填選擇的id名稱。正則表達式填寫方法:"id"."(.*)".模板填寫方法
$1$有一個要匹配的正則表達式,$2$有兩個,以此類推。如果想查詢是否匹配到了想要查找的ID,那么添加Debug Sampler,就可以
看到。匹配數字:0代表隨機,-1代表所有。
當查詢到響應數據中對應的id時,如果顯示的不是中文,那么可以添加Sampler-->BeanShell Sampler,在這里編寫java代碼即可。
如何利用jmeter做測試數據?
做測試數據的場景:報表測試,性能測試
性能測試:1000個新注冊的用戶數據,能夠正常登陸。如何準備登陸用戶賬號?
解決方法:
1.直接調用注冊接口完成數據的制定。
jmeter csv read數據 Excel,去設定循環次數,新建個線程設置好循環次數-->http請求-->注冊接口配置進去-->
添加引用變量${}-->添加CSV讀取數據-->添加察看結果數-->執行就可以了。
拓展點:如何利用csv類型的EXCEL去搞定?
綜上:本質就是往數據庫中插數據。
其他方法:
pathon java寫代碼可以去解決。
2.可不可以直接去操作數據庫?可以。(如果關聯表很多就不推薦這個,推薦第一個)
利用jmeter去操作數據庫:
線程組-->添加-->配置元件-->JDBC Connection Configuration
variable name:變量名(根據實際意思去取名)
Database URL: 數據庫地址,格式:jdbc:mysql://地址:端口/數據庫名
JDBC Driver class:數據庫驅動。com.mysql.jdbc.Driver
Username:用戶名。
Password:密碼。
再添加-->sampler-->JDBC Request-->寫數據庫插入語句。
jd-gui.exe下載。
可以查看jar源代碼。例如查看數據庫中密碼是如何加密的。
var.put("字段名",要存到jemter中的變量名);這樣可以將java的變量放到jmeter中去作為jmeter的變量。
插入1000條不同的數據:
jmeter中數據的插入語句中各個字段采用引用變量的方式:${}。然后利用引入csv進行操作。1000條數據全部存入CSV指定的excel中。

浙公網安備 33010602011771號