🍅?點擊文末小卡片?,免費獲取軟件測試全套資料,資料在手,漲薪更快????
json斷言元件
json斷言元件介紹
json斷言元件與響應斷言元件的功能類型,它只針對響應正文為json數據格 式的內容進行斷言功能。
添加路徑:右擊http請求——斷言——json斷言
如下圖展示:
json斷言元件字段介紹
名稱/注釋:自定義描述性文字
Assert JSON Path exists:斷言jsonpath表達式截取的值是否存在,這里輸 入要檢查字段的jsonpath表達式即可;可參考jmeter(10)中的jsonpath表達式介紹
Addittionally assert value:是否添加斷言值, 添加的斷言值和json返回的字段值 進行比較,等于特定的值。如不勾選,只比對是否返回了該json字段
Match as regular expression:斷言值是否支持正則表達式
Expected Value:添加斷言值
Expect null:預期空值,勾選這項,則會匹配斷言結果為null的情況
Invert assertion:取反,若上述斷言結果為true,勾選此項,則斷言結果為false ;若上述斷言結果為false,勾選此項,則斷言結果為true
jmeter參數化實現
jmeter參數化
在實際的測試工作中,我們經常需要對多組不同的輸入數據,進行同樣的測試操作步驟,以驗證我們的軟件的功能。這種測試方式在業界稱為數據驅動測試, 而在實際測試工作中,測試工具中實現不同數據輸入的過程稱為參數化設置。
jmeter提供多種參數化設置的方式
1、使用 用戶定義的變量元件 實現
2、使用 用戶參數元件 實現
3、使用 函數助手 實現
4、使用 CSV 數據文件設置元件 實現
5、其它方式(數據庫數據、beanshell等)實現
1、使用 用戶定義的變量元件 實現參數化
在實際使用jmeter進行接口測試過程中,我們把一些常用的配置值全部放置到用戶定義的變量元件中,方便統一管理。在需要使用到的其他地方通過 ${變量名} 的語法格式進行引用即可
添加路徑:右擊——配置元件——用戶自定義的變量
在http請求中使用${變量名}引用;如下圖
2、使用 用戶參數元件 實現參數化
用戶參數元件可通過右鍵快捷菜單中選擇 添加-前置處理器-用戶參數進行添 加,與用戶自定義變量不同的是,用戶參數列表中的參數取值可以在測試計劃執 行過程中發生變化。
每次迭代更新一次:如果選中該選項,則參數的值在每個迭代中保持不變,在新 的迭代開始時取下一個值。如果取消該選項,則參數值在每個在其作用域內的 sampler發出請求時取下一個可用值。
建議在參數的取值范圍很小,使用用戶參數比較合適
添加路徑:右擊——前置處理器——用戶參數
在名稱中輸入一個變量名,用戶后面輸入不同的值;在http請求中引用變量名
在線程組中,修改線程數;如下圖
執行效果如下:
3、使用 函數助手 實現參數化
打開路徑:在工具欄——函數助手對話框;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
快捷圖標展示;如下圖
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
函數助手中提供了很多可以進行參數化的函數,常用典型的幾個函數。
jmeter官網詳細文檔地址:Apache JMeter - User's Manual
或者在jmeter目錄——printable_docs——打開index.html——點擊Function;如下圖:
1、__Random:隨機整數函數,輸入最小值、最大值,如果需要把生成的值保 存在變量中,可以設置變量,如果只是一次使用,可以不設置存儲變量。設置完 上述三項后,點擊生成即可生成函數代碼,在需要的地方使用即可
如下:
①選擇Random,一個范圍內最小值為10,一個范圍內允許的最大值為100,存儲結果的變量名(可選)為nums;點擊生成函數,jmeter自動復制
②打開http請求,粘貼到指定位置
③線程組選擇循環次數;
④執行結果如下:
2、__RandomString:隨機字符串函數,輸入字符串指定長度、字符串的組成字 符,點擊生成即可。如下圖:
打開http請求,粘貼到指定位置
忽略首行:csv文件中如果是字段名,而不是實際的參數化數據的時候,設置為 true,表示第一行數據不作為參數化的數據此外還有如下能實現參數化:
3、__time:當前時間的時間戳函數
4、__RandonDate:隨機日期函數
5、__machineIP:取設備的IP地址函數
等等.....
4、使用 CSV 數據文件設置元件 實現參數化
csv數據文件中的csv稱為逗號分隔值或者字符分割值,其文件以純文本的形式存儲表格數據。在jmeter中可以使用此類型文件提供的數據作為參數化。通過右擊 -- 新增 -- 配置元件 -- CSV 數據文件設置元件進行添加
導入的文件可以為excel后綴名為xls、csv或者txt文本
界面字段介紹:
名稱/注釋:自定義描述性文字
文件名:指保存信息的文件目錄,可以相對或者絕對路徑
文件編碼:默認為ANSI,根據文件類型來,一般設置為UTF-8;GB2312、GBK
變量名稱:給csv文件中各列起變量名字(有多列,用英文逗號隔開列名)
忽略首行:csv文件中如果是字段名,而不是實際的參數化數據的時候,設置為 true,表示第一行數據不作為參數化的數據
分隔符:用什么符號分隔參數化文件中的各列,以csv文件中的分割為準設置
是否允許帶引號:允許參數化文件的參數帶有雙引號,默認是False,如果參數 文件的值帶有雙引號,False模式會將雙引號也當做參數
遇到文件結束符再次循環:到了文件尾是否循環,True---繼續從文件第一行開始 讀取,False---不再循環
遇到文件結束符停止線程:到了文件尾是否停止線程,True---停止,False---不 停止,注:當遇到文件結束符再次循環設置為True時,此項設置無效。
線程共享模式:設置csv數據文件的使用范圍
①新建一個excel文件,后綴名為CSV的文件,
②點擊瀏覽選中上面的文件;文件編碼為GBK;輸入第一行的變量名name;忽略首行為True
③在http請求中引用變量名
④線程組循環5次
⑤點擊執行
寫在最后
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對于做【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術行業,一定要提升技術功底。
?