JMeter基础009----JMeter内置函数
一、函數概述
1、概述
函數是程序中的封裝單元(最小的),封裝一些功能實現。Jmeter內置了一些函數,了解這些函數,使用函數助手可以幫助我們調用函數。
2、函數分類
(1)數字相關的:
__counter():計數器 注:前面兩個下劃線
__random():隨機數函數,函數參數包含左右臨界值
__time():獲取時間的函數,時間格式:yyyy/MM/dd HH:mm:ss==年/月/日 時:分:秒
(2)文件讀取相關的:
__CSVRead( ):和CSV Data Set Config類似可以讀取CSV文件數據
(3)屬性相關的:
__setProperty( ):屬性設置
__property() : 屬性獲取
3、實現思想
(1)打開Jmeter 內置的函數功能模塊
(2)選擇要調用的函數,傳參數,生成調用格式
(3)哪里需要粘哪里
二、數字相關函數使用
1、__counter()函數
(1)打開Jmeter 內置的函數功能模塊,選擇__counter()函數,填寫函數參數,生成調用格式,如下圖所示:
(2)復制生成的調用格式,創建HTTP請求,粘貼復制的調用格式,如下圖所示:
(3)運行測試計劃,查看結果樹,如下圖所示:
2、__random()函數
(1)打開Jmeter 內置的函數功能模塊,選擇__randon()函數,填寫函數參數,生成調用格式,如下圖所示:
(2)復制生成的調用格式,創建HTTP請求,粘貼復制的調用格式,如下圖所示:
(3)運行測試計劃,查看結果樹,如下圖所示:
3、__time()函數
(1)打開Jmeter 內置的函數功能模塊,選擇__time()函數,填寫函數參數,生成調用格式,如下圖所示:
(2)復制生成的調用格式,創建HTTP請求,粘貼復制的調用格式,如下圖所示:
(3)運行測試計劃,查看結果樹,如下圖所示:
注:時間格式:yyyy/MM/dd HH:mm:ss==年/月/日 時:分:秒
三、 __CSVRead( )函數
1、__CSVRead()函數:
__CSVRead() 和CSV Data Set Config類似可以讀取CSV文件數據,但是CSV Data Set Config執行多次是使用的循環次數,而CSVRead執行多次使用的是線程數。
2、需求
使用CSVRead函數實現學院信息的批量插入(此如: 3條)
3、實現思想:
搭建框架(線程組設置線程數)JSON格式數據只是模板,具體數據動態獲取。注意:執行次數設置與信息頭設置
將數據存儲在外部的文本文檔(CSV 格式)
使用CSVRead函數逐行獲取并解析CSV文件,插入到提交的JISON數據中。注:CSVRead函數設置CSV文件路徑時,必須得使用絕對路徑,不可以使用相對路徑
4、實現過程
(1)搭建框架,設置線程組的線程數,HTTP請求的請求JSON格式數據只復制接口定義的模板,具體數據動態獲取,如下圖所示:
(2)編輯文本文檔,將數據存儲在外部的文本文檔(CSV 格式),如下圖所示:
(3)打開Jmeter 內置的函數功能模塊,選擇 __CSVRead()函數,填寫函數參數,生成調用格式,如下圖所示:
注:CSVRead函數設置CSV文件路徑時,必須得使用絕對路徑,不可以使用相對路徑
(4)復制生成的調用格式,在HTTP請求中粘貼復制的調用格式,如下圖所示:
(5)運行測試計劃,查看結果樹,如下圖所示:
四、屬性設置函數
1、函數
__setProperty():屬性設置
__property():屬性獲取
2、需求
HTTP請求1:訪問百度,將請求1響應的title值傳遞給請求2,但是兩個請求不屬于同一個線程組
HTTP請求2:訪問google /?wd=百度一下你就知道
3、實現思想:
將線程組內部的數據導出去,存儲在共享空間中,其他線程組要使用數據,就從共享空間獲取
將數據從當前線程組導出,使用__setProperty()函數。
另外-一個線程組將導出到共享空間的數據引入,使用__property()函數。
4、實現流程
(1)搭建框架,創建HTTP請求和Xpath提取器,如下圖所示:
(2)打開Jmeter 內置的函數功能模塊,選擇 __setProperty()函數,填寫函數參數,生成調用格式,如下圖所示:
(3)線程組右鍵----添加----Sampler----Bean Shell,創建Bean Shell執行腳本,并粘貼復制的函數,如下圖所示:
(4)打開Jmeter 內置的函數功能模塊,選擇 __property()函數,填寫函數參數,生成調用格式,如下圖所示:
(5)再次創建線程組和HTTP請求,調用復制的__property()函數調用格式,如下圖所示:
(6)運行測試計劃,查看測試結果,如下圖所示:
注意:可通過工作臺----添加----非測試元件----Property Display,查看共享空間的數據,如下圖所示:
注:一般不使用共享空間,因為這樣變量的生命周期太長,容易出問題。
五、總結
1、概述:
函數是程序中的功能單元(最小),具有易讀性,易維護,可實現功能復用。
2、函數
數字相關:
counter計數器
ranodm隨機數
time時間值
文件讀取:
csvread批量操作
屬性設置:
setProperty屬性設置
property屬性獲取
二者結合可以實現跨線程組傳值
總結
以上是生活随笔為你收集整理的JMeter基础009----JMeter内置函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EntityManager 使用 Pag
- 下一篇: C#邮件发送类 简单实用 可自定义发件人