1.jmeter——參數化
三種方式:
${變量名}
1.1用戶定義的變量
比如注冊,登錄都得用到手機號碼,那就把手機號碼自定義為變量
1)添加一個線程組--注冊、登錄HTTP請求--察看結果樹--用戶定義的變量(http請求步驟見上一篇隨筆https://www.cnblogs.com/liyongmei/p/11044466.html)
2)添加用戶定義的變量
3)引用用戶定義的變量,格式為:${變量名}
4)察看結果樹--點擊運行
1.2配置文件CSV Data Set Config(如果對其他線程也有需要,就需要把它移動到測試計划同一級目錄,這樣就對所有線程有效)
比如同時注冊三個手機號碼,並且對應用戶。
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——關聯
1、 關聯的定義:將服務器返回的動態的變化的一個值,把他保存為一個參數,以供腳本里面后邊需要用到參數化的地方進行使用
2、 關聯的目的
腳本值寫死,但是服務器返回值每次都是動態的不可預期的,服務器用不同的值做業務處理,進行校驗,所以需要關聯
引導:使用了單個充值接口進行充值,提示“抱歉請先登錄”,隨后同時開放登錄和充值兩個接口,仍然提示“抱歉請先登錄”
引出疑問點?
答:充值的時候,在頁面上,我們是先登錄,是以登錄的狀態去充值的。充值的時候,我們就會去校驗登錄的狀態。而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察看結果樹