學習筆記jmeter之函數(7)

目錄

數字類

__counter() : 計數器

__random(): 隨機數函數 ​      

__time() : 獲取時間的函數

__CSVRead類

__CSVRead() :和 CSV Data Set Config 類似可以讀取 CSV 文件數據

屬性類

__setProperty() : 屬性設置

BeanShell Sampler 組件

Property Display

__property() : 屬性獲取


函數:可以被認爲是某種特殊的變量,它們可以被採樣器或者其他測試元件所引用。

1. __CSVRead
2. __counter 
3. __Random
4. __time
5. __setProperty
6. __property

 

數字類

__counter() : 計數器

        

__random(): 隨機數函數 ​      

包含左右臨界值(左閉右閉)

       

__time() : 獲取時間的函數

​        時間格式: yyyy/MM/dd HH:mm:ss ==》 年/月/日 時:分:秒

      

 

__CSVRead類

__CSVRead() :和 CSV Data Set Config 類似可以讀取 CSV 文件數據

作用:csvRead函數是從外部讀取參數,csvRead函數可以從一個文件中讀取多個參數

 需求:使用 CSVRead 函數實現學院信息的批量插入(比如: 3條)

思想:

1)、搭建框架(線程組的線程數設置循環次數),JSON 格式數據只是模板,具體數據動態獲取

​       注意:執行次數設置與信息頭設置

​    CSV Data Set Config 執行多次是使用的循環次數,而 CSVRead 執行多次使用的是線程數

2)、將數據存儲在外部的文本文檔(CSV 格式)

3)、使用 CSVRead 函數逐行獲取並解析 CSV 文件,插入到提交的 JSON 數據中

​    CSVRead 函數設置 CSV文件路徑時,必須得使用絕對路徑,不可以使用相對路徑

      

第1個用戶讀取第一行,第2個用戶讀取第二行......

    都是讀取第一行,執行三次。這個跟csv data seting設置循環次數的區別。

 

1. 選擇一個功能:選擇__CSVRead
2. CSV file to get values from | *alias:要讀取的文件路徑-(絕對路徑)
3. CSV文件列號| next| *alias:從第幾開始讀取,注意第一列是0
4. 點擊生成函數引用格式
5. 全選複製

 

屬性類

需求:http 請求1 訪問百度,將請求1響應的 title 值傳遞給請求2,但是兩個請求不屬於同一個線程組

​           http 請求2 訪問 google  /?wd=百度一下你就知道

 實現思想 :

​      將線程組內部的數據導出去,存儲在共享空間中,其他線程組要使用數據,就從共享空間獲取。

實現流程:

​     1)、將數據從當前線程組導出 __setProperty

​         變量名

​         變量值  ${變量名}        

​         <u>使用 BeanShell Sampler 調用函數</u>

​     2)、另外一個線程組將導出到共享空間的數據引入 __property

​        根據變量名獲取 

​    注意:查看共享數據,工作臺 ----> 添加 -----> 非測試元件 ----> property display

通過在同一個線程組兩個請求結合xpath提取器進行關聯的方式可以實現。但是跨越兩個線程組的話,參數就無法傳遞了,如上圖,說明作用域只限在同一線程組。(測試計劃已勾選 獨立運行線程組選)

__setProperty() : 屬性設置

用於把指定數據設定成Jmeter屬性,可以理解爲是把指定數據設置成全局變量.  

1. 屬性名稱:要設置的屬性名稱也就是全局變量名
2. Value of property:屬性的值(全局變量的值)  

BeanShell Sampler 組件

可執行JavaScript的一種容器。設置屬性的函數,真正生效需要BeanShell Sampler 的協助。

Property Display

查看共享全局變量信息。(鍵值對的形式)

位置:測試計劃--非測試元件--Property Display

__property() : 屬性獲取

獲取Jmeter中屬性值

另一個線程組的請求需要引用全局變量的屬性,如上圖設置。

但是,不建議共享數據擴大作用域。使用場景不多。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章