#學習筆記2# 自動化二:讀取csv引數化檔案(get請求+連線資料庫)
上一篇學習了csv檔案引數化(post方法),不過還有以下方面需要繼續學習完善: 1.get方法請求 2.連線資料庫 3.其他型別的非查詢類介面引數化,今天準備先完成1和2, 3的話要看學習情況,可能會放在下週繼續學習。
一、讀取CSV引數化檔案 —— get請求
1.新建.csv檔案。 需要在excel中管理測試用例,完成後另存為.csv格式的檔案,檔案具體內容可以參考截圖,檔案中POST方法與GET方法的不同點在於,GET方法的引數是跟在路徑後面的,不需要填寫param
2.Jmeter中的配置。新建執行緒組、HTTP資訊頭管理器、CSV Data Set Config(Filename需要寫到具體檔名稱)、http協議控制器、HTTP請求、響應斷言、檢視結果樹,具體的新建過程同post方法,在此不贅述,建完後效果如下
HTTP請求中具體引數配置有變動,Body Data中不需要寫引數
3.點選執行,就能夠得出結果(簡單來說,GET方法的引數化只需要修改2個地方,.csv檔案中的path和param兩個引數的內容,jmeter配置中HTTP請求中Body Data中不需要寫引數)
4. 嘗試將GET方法和POST方法的請求放在同一個.csv檔案中,但是http請求中的方法是下拉框,沒有辦法同時選擇兩個方法,所以目前只能分開執行,後續如果有其他方法會寫上來
5.關於斷言持續時間,Duration to Assert -- 允許的響應時間的最大值 ,如果響應時間超過這個時間,判定斷言不通過,比如我設定為10毫秒,如果響應時間大於10毫秒,則斷言不通過。是否設定要看具體情況啦
二、jmeter連線資料庫
jmeter連線mysql資料庫的操作可參考部落格 https://blog.csdn.net/liujingqiu/article/details/73737854
因為沒接觸過,所以在連線資料庫中也遇到了一些問題,主要原因是對JDBC Connection Configuration中的引數不理解,只是按照其他部落格的步驟配置,很容易寫錯一些東西,這裡做一些解釋(不全面,後期再統一整理),方便後面進行引數化
1.連線資料庫需要新增如下內容如下
2.JDBC Connection Configuration中的配置
(1)Variable Name:資料庫連線池的變數名,之後JDBC request可以通過選擇不同的連線池名來選擇不同的資料庫連線。
(2)Max Number of Connections:該資料庫連線池的最大連線數,一般設定為0,意思是每個執行緒都使用單獨的資料庫連線,執行緒之間資料庫連接不共享。
(3)Max Waits(ms):最大等待時間
4.連線資料庫校驗
這裡是繼續之前的引數化,對查詢結果與資料庫結果進行校驗
首先需要在測試計劃中新增jdbc驅動
接著新增JDBC Connection Configuration,引數配置如下
在http請求下新增JDBC PostProcessor(sql後置處理器)和BeanShell PostProcessor(後置處理器)
配置如下
上圖beanshell中的程式碼參考了 https://testerhome.com/topics/8114中的內容,接下來執行,得到結果如下
上圖只能證明是有進行資料庫校驗的,具體失敗原因還要查詢,但是由於對beanshell語句不熟悉,所以暫時會先考慮用其他方式實現成功的校驗,之後再回來看這個。
關於一開始提到的加入不同型別的介面,在今天的學習中有一點收穫是可以採用不同的斷言實現,後面再學習。