1.jmeter——參數化
html
三種方式:正則表達式
${變量名}數據庫
1.1用戶定義的變量服務器
好比註冊,登陸都得用到手機號碼,那就把手機號碼自定義爲變量cookie
1)添加一個線程組--註冊、登陸HTTP請求--察看結果樹--用戶定義的變量(http請求步驟見上一篇隨筆https://www.cnblogs.com/liyongmei/p/11044466.html)session
2)添加用戶定義的變量dom
3)引用用戶定義的變量,格式爲:${變量名}函數
4)察看結果樹--點擊運行測試
1.2配置文件CSV Data Set Config(若是對其餘線程也有須要,就須要把它移動到測試計劃同一級目錄,這樣就對全部線程有效)spa
好比同時註冊三個手機號碼,而且對應用戶。
1) 用文本編輯三個手機號和用戶名
2) 線程組—添加—配置元件—CSV Data Set Config
3)
Filename:參數化文件路徑
Variable Name(comma-delimited):參數化的名稱
Delimiter(use '\t\ for tab):多個參數,用什麼來隔開
Recycle on EOF?:文件讀取完以後是否繼續讀取
Stop thread on EOF?:文件讀取完以後是否中止線程
4) 參數引用
5)修改線程數
6)運行察看結果樹
1.3函數助手中的函數獲取參數值 _Random函數 _RandomString函數
好比進行十個用戶的註冊,只是往數據庫添加十個手機號碼,可是手機號碼不必定對應真實用戶,那就能夠用到隨機函數
1)固定段號
2)點擊選項--函數助手對話框
3)在註冊http請求手機號碼字段粘貼生成的字段
4)修改線程數
5)察看結果樹
2.jmeter——關聯
一、 關聯的定義:將服務器返回的動態的變化的一個值,把他保存爲一個參數,以供腳本里面後邊須要用到參數化的地方進行使用
二、 關聯的目的
腳本值寫死,可是服務器返回值每次都是動態的不可預期的,服務器用不一樣的值作業務處理,進行校驗,因此須要關聯
引導:使用了單個充值接口進行充值,提示「抱歉請先登陸」,隨後同時開放登陸和充值兩個接口,仍然提示「抱歉請先登陸」
引出疑問點?
答:充值的時候,在頁面上,咱們是先登陸,是以登陸的狀態去充值的。充值的時候,咱們就會去校驗登陸的狀態。而jmeter裏面【登陸】和【充值】兩個接口是獨立的,兩個接口沒有聯繫起來。
咱們須要瞭解cookie和session?
原文連接:https://www.cnblogs.com/nickjiang/p/9148136.html
正則表達式提取器
Jmeter中的關聯是經過「添加—後置處理器—正則表達式提取器」來獲取數據,傳給後面的請求使用。
關聯概念:兩個請求,上一個請求的響應結果,做爲下一個請求的傳入關聯運用的場景;下一個請求的參數值是變化的。
正則表達式概念:匹配內容的一個表達式。Error.log====rerror.log
2.1:添加正則表達式提取器(從哪裏取就在哪裏添加)
引用名稱:下一個請求要引用的參數名稱。如填寫activityID,則可用${activityID}引用它
正則表達式:()括起來的部分就是要提取的
. 匹配任何字符串
+ 一次或屢次
?在找到第一個匹配項後中止
模板:用$$引用起來,若是是多個提取表達式,則能夠是$1$$2$等,表示解析到的第幾個值給title。如:$1$表示解析到的第1個值
匹配數字:0隨機,1表明全部,一般取0
缺省值:若是返回結果中沒有匹配的值,則變量的值採用默認值。
注意:正則表達式放在請求的後面,數據從「查看結果樹」的響應數據獲取。
從接口請求的響應結果中獲取;或者數據庫中獲取
2.2:添加一個http cookie管理器
2.3察看結果樹
3.jmeter——斷言
斷言==檢查點
3.1添加斷言
3.2添加一個檢查點,若是響應中的信息與添加的檢查點不一致,則作失敗處理
3.3察看結果樹