前幾天在Q羣裏看到羣友發的最近10年性能測試工具使用率的統計,最近的2018年,jmeter+loadrunner佔了93%的使用率,說明這兩個是主流,其中,jmeter的使用率逐年提高,如今已經超過了loadrunner,佔了51%。html
除了作性能,jmeter也能夠作自動化測試,好比jmeter + ant + jenkins的自動化測試框架(參考:http://www.javashuo.com/article/p-ovnjucvp-bw.html),jmeter還能夠作接口功能測試,因此,jmeter應該是每一個測試工程師的必備技能。前端
這裏,咱們着重講解jmeter的關聯,什麼是關聯?將服務器提供動態變化的值存放在變量中,當須要使用該變量時,自動從服務器響應的信息中獲取該值,並在後面使用的過程當中進行替換。(也多是前端頁面動態生成的值)正則表達式
jmeter關聯的方式比較多,這裏介紹5種方式,總有一種讓你喜歡。 若是想了解loadrunner關聯的,能夠參考LoadRunner【第五篇】關聯:http://www.javashuo.com/article/p-zrkqbruo-dy.htmlshell
這裏,咱們用dummy取樣器來模擬服務器的返回,經過關聯獲取name的值,而後百度搜索這個name的值,這就咱們就簡單模擬了請求間的依賴關係。apache
添加dummy取樣器json
設置返回內容服務器
搜索的關鍵字是上一個請求返回的name值框架
打印獲取到的name的值工具
調試的取樣器性能
正則.*?,參考:http://www.javashuo.com/article/p-ffizodkn-eh.html
關聯獲取到的值
百度搜索結果
$表示接口的返回值,若是取字典key的value,用點號,若是是取列表的某個值,用索引
關聯獲取到的值
百度搜索結果(略)
和方法二相似,$表示接口的返回值,若是取字典key的value,用點號,若是是取列表的某個值,用索引
關聯獲取到的值
百度搜索結果(略)
這個和loadrunner中的關聯很像,經過左右邊界來取值,參考:http://www.javashuo.com/article/p-zrkqbruo-dy.html
關聯獲取到的值
百度搜索結果(略)
寫beanshell腳本,解析json字符串。
這裏要用到fastjson,jar包下載地址:https://mvnrepository.com/artifact/com.alibaba/fastjson
下載後,把jar包放到D:\apache-jmeter-5.1.1\lib\ext下,而後重啓jmeter便可
而後重啓jmeter便可
fastjson解析json字符串
百度搜索結果(略)
至此,5種方式都準確的獲取到了須要關聯的值。