jmeter的几种参数化使用方法
場景:在進行jmeter的接口自動化測試腳本的編寫中需要使用參數化,現將接觸到的幾種參數化方法整理如下:
第一種:
使用“用戶自定義變量”的配置元件來進行變量定義
填入變量、值、和備注就可以在后續的接口中使用該變量,使用格式統一都為:${變量名稱}
第二種:
使用配置元件“CSV Data Set Config”進行自定義傳參數
1.CSV Data Set Config 讀取的文件不僅僅限于 csv 文件,其可以讀取文本文件(txt)
2.allow quoted data:雙引號相關,例:如果參數中需包含逗號或者引號等,該項可以選擇True
3.Recycle on EOF: 設置為True后,允許循環取值
4.Stop Thread EOF: 當Recycle on EOF為false并且Stop Thread EOF 為true,則讀完csv文件中的記錄后,停止運行,線程數及執行次數無效
5.Sharing Mode:共享模式:?
- All threads:所有線程,所有線程循環取值,線程1取第一行,線程二取下一行。
- Current thread group:當前線程組,各個線程組分別循環取值。
- Current thread:當前線程,該測試計劃內的所有線程都取第一行。
第三種:正則表達式,獲取上一個接口的返回值傳給下一個接口,下面的接口就可以使用前面接口定義的變量了,達到了傳參的目的
?
?
正則有很多的參數,下面詳細說一下:
名稱:可以隨意設置,最好有業務意義
注釋:可以隨意設置,可以為空
apply to:應用范圍,四個選項
main sample and sub-samples:匹配范圍包括當前取樣器并覆蓋至子取樣器(簡單來說,就是在同一個控制器下的所有的父節點和子節點的接口都可以使用該變量,一般情況我都會使用這個適用范圍)
main sample only:匹配范圍是當前父取樣器
sub-samples only:僅匹配子取樣器
jmeter variable:支持對jmeter變量值進行匹配
要檢查的響應字段:針對響應數據的不同部分進行匹配,共七個選項
主體:響應數據的主體部分,排除header部分;http協議返回請求的主體部分就是body
等等。。。
引用名稱:匹配出來的信息通過該名稱訪問,例如${引用名稱}
正則表達式:一般使用(.+?)這種格式來進行提取,?則是我們想要提取的信息,一定要注意括號外面的格式,務必嚴格按照提取的格式來寫,注意返回值是否有引號擴起來,網上有一個在線工具可以檢測該正則表達式是否寫正確“正則表達式在線測試”
模板:$1$,指第一個模板,以此類推
匹配數字:
0-——隨機取值? ?
-1-——取所有值,可以配合for Each Controller一起來遍歷??
1、2、3-——取對應的第幾個值(例如:如果該正則匹配出來了多個值,多個rulesid,但是我們只想用第二個rulesid,這個地方的匹配數字就寫成2,下面的接口就會只使用第二個rulesid)
默認值:如果沒有匹配到可以指定一個默認值
第四種:
使用JDBC的配置元件去鏈接我們的數據庫,連上了之后,通過查詢語句,查詢出我們需要的值,然后傳給后面的接口使用
配置元件名稱:JDBC connection configuration(使用前提,需要下載一個jar包?mysql-connector-java-5.1.41-bin.jar?放在jmeter安裝地址的lib目錄下,重啟jmeter就可以使用了)
?
?
步驟二:
添加配置原件
步驟三:添加samples:JDBC request
注意:步驟二和步驟三中的variable name必須得保持一致,注意,注意
?
轉載于:https://www.cnblogs.com/guo2733/p/10763977.html
總結
以上是生活随笔為你收集整理的jmeter的几种参数化使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初见 IsolatedStorage
- 下一篇: 冲刺进度条-3