1. 程式人生 > >#學習筆記2# 自動化二:讀取csv引數化檔案(get請求+連線資料庫)

#學習筆記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可以通過選擇不同的連線池名來選擇不同的資料庫連線。

JDBC Connection Configuration 建立一個名為pubpool的連線池,之後其他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語句不熟悉,所以暫時會先考慮用其他方式實現成功的校驗,之後再回來看這個。

關於一開始提到的加入不同型別的介面,在今天的學習中有一點收穫是可以採用不同的斷言實現,後面再學習。