一 .JMeter的安裝
##一.[官網(wǎng)下載JMeter] [https://jmeter.apache.org/download_jmeter.cgi]
##二.解壓到本地刚盈,找到j(luò)meter.bat打開(kāi)軟件
打開(kāi)后的頁(yè)面如下圖:
注意事項(xiàng):所有符號(hào)都為英文格式题禀,填寫(xiě)所有參數(shù)前后不得有空格
二.JMeter基礎(chǔ)知識(shí)
一.JMeter腳本基本四個(gè)元件
1.線程組
2.HTTP請(qǐng)求
3.響應(yīng)斷言
4.查看結(jié)果樹(shù)
如下圖:
二.JMeter———變量類型
一.變量和變量池的說(shuō)明
1.變量:一個(gè)可以儲(chǔ)存多個(gè)字段的工具(儲(chǔ)存變量值的地方)
2.變量池:存放變量的位置
二.變量的生成
1.用戶自定義變量
. 創(chuàng)建:線程組 - 添加 - 配置元件 - 用戶定義的變量
. 名稱(nanme)值(所要賦予給它的數(shù))(可以是具體的值,也可以是函數(shù))
2. . 函數(shù)助手對(duì)話框
. 創(chuàng)建: 一級(jí)菜單欄 - 選項(xiàng) - 函數(shù)助手對(duì)話框
. 選擇一個(gè)功能(如:—Random)下面有三個(gè)參數(shù):最大值,最小值 獲取一個(gè)隨機(jī)生成的值例如(1,100)內(nèi)的隨機(jī)函數(shù)注意:循環(huán)次數(shù)必須大于1嘉冒,隨機(jī)函數(shù)才會(huì)生效
. __P:設(shè)置屬性的默認(rèn)值音五。有兩個(gè)參數(shù):變量名,默認(rèn)值(默認(rèn)值為1)瞭空。
. __CSVRead:從CSV文件中讀取字符串。有兩個(gè)參數(shù):文件名疗我,第幾列(0表示第一列)
. ${__UUID}:隨機(jī)取值咆畏,且結(jié)果唯一;區(qū)別于__Random(隨機(jī)取值吴裤,結(jié)果有可能相同)
3.CSV Data Set Config
.創(chuàng)建 :線程組 添加 - 配置原件 - CSV Data Set Config
. 作用:可以從.csv旧找、.dat等文件中獲取數(shù)據(jù),并將這些數(shù)據(jù)參數(shù)化嚼摩。當(dāng)數(shù)據(jù)發(fā)生變化時(shí)钦讳,只需要改原始文件,不需要改腳本
. 參數(shù)含義:
"1. Filename:文件路徑(如果和腳本同路徑枕面,只需要輸入文件名愿卒;否則要輸入全路徑)
2. File encoding:編碼和文件格式保持一致,如果有中文潮秘,最好用UTF-8
3. Variable names:參數(shù)名稱琼开,參數(shù)之間用,隔開(kāi)
4. Delimiter:輸入文件(csv/dat等)中的分割符號(hào);用\t代替tab鍵
5. Allow quoted data:當(dāng)獲取的數(shù)據(jù)中包含時(shí)枕荞,要設(shè)置為T(mén)rue
6. Recycle on EOF: 設(shè)置為T(mén)rue后,允許循環(huán)取值
7. Stop Thread EOF: 當(dāng)Recycle on EOF為false并且Stop Thread EOF 為true,則讀完csv文件中的記錄后,停止運(yùn)行柜候,線程數(shù)及執(zhí)行次數(shù)無(wú)效
8. Sharing Mode:共享模式: All threads:所有線程,所有線程循環(huán)取值躏精,線程1取第一行渣刷,線程二取下一行;Current thread group:當(dāng)前線程組矗烛,各個(gè)線程組分別循環(huán)取值辅柴;Current thread:該測(cè)試計(jì)劃內(nèi)的所有線程都取第一行"
. 調(diào)用CSV Data Set Config中的變量
4.函數(shù)助手
. 選擇函數(shù)助手來(lái)賦予一個(gè)變量
.選擇一個(gè)功能 —RandomString
.Random string length 這個(gè)變量的長(zhǎng)度
.Chars to use for random string generation 這個(gè)變量取值的范圍,自定義
.拷貝并粘貼函數(shù)字符串 生成 (生成后的是一個(gè)新的變量值)
5 .正則表達(dá)式提取器
. 創(chuàng)建 : HTTP請(qǐng)求 - 添加 - 后置處理器 - 正則表達(dá)式提取器
. 作用 :提取上一個(gè)接口響應(yīng)的數(shù)據(jù)瞭吃,給其它元件使用
. 說(shuō)明:
1. 引用名稱:下一個(gè)請(qǐng)求要引用的參數(shù)名稱碌嘀,如:(填寫(xiě)Atask,則可用${Atask}引用它)
2. 正則表達(dá)式:
. ():括起來(lái)的部分就是要提取的歪架。
. .:匹配任何字符串股冗。
. +:一次或多次。
. ?:在找到第一個(gè)匹配項(xiàng)后停止和蚪。
3. 模板:用$$引用起來(lái)止状,如果在正則表達(dá)式中有多個(gè)正則表達(dá)式烹棉,則可以是$2$$3$等等,表示解析到的第幾個(gè)值給title怯疤。如:($1$表示解析到的第1個(gè)值)
4.匹配數(shù)字:0代表隨機(jī)取值峦耘,1代表全部取值,通常情況下填0
5.缺省值:如果參數(shù)沒(méi)有取得到值旅薄,那默認(rèn)給一個(gè)值讓它取,如:(Error)
三. JMeter變量的使用
1.直接使用:用${變量值} 取變量
2.使用vars.get("變量名") 取變量
3.使用vars.put("變量名"泣崩,"變量值") 改變值
四.如果(if)控制器
.創(chuàng)建: 線程組 - 添加 - 邏輯控制器 - 如果(if)控制器
.作用:如果上一層滿足如果(if)控制器里的條件就執(zhí)行其內(nèi)部元件少梁,如果不滿足(if)控制器里的條件就不執(zhí)行其內(nèi)部元件 如:("${studenName}"=="xxx" 判斷條件格式
.注意 下面選擇 E-aluate for all children?
##格式