通過逐個錄入的方式,好不容易將需要測試幾十個接口的300多個測試用例錄入sampler-http請求中,固定的測試環境跑起來也還
感覺良好。不料在新服務器環境中跑用例時,問題來了:修改參數維護腳本等成本太大!
腳本參數是寫死的,修改起來得一個個請求打開來依次輸入參數值,有點坑。。。
為了解決這個問題,毅然決定將所有參數提取處理,用excel文件來做數據驅動,做法如下:
1、問題分析
要通過excel表格做數據驅動,首先得讓jmeter能讀到表格中指定的行和列。考慮到個人代碼能力捉急,選擇用csv data set config
元件。之前用它是感覺總是從表格第一行開始讀的,所以嘗試修改源碼使之能讀取指定的excel表格行。
2、修改Jmeter源碼
先看一下csv data set config元件界面
從上面元件界面來看,並沒有設置讀取行的功能,為了能使csv data set config能自動讀取表格指定行,參照下面鏈接的方法
http://zfy421.iteye.com/blog/2322251,為csv data set config添加了讀取行的功能,如下圖:
有了它就可以關心如何在excel或csv文件來設置測試用例了
3、設計用例
用例excel格式如上圖所示,有用例編號、期望值、參數等等列,可以用jmeter讀取任一行任一列的表格數據,
貌似沒什么毛病了。
4、再看一下修改后的測試腳本
費力調整了一番,但腳本量並沒有減少……
5、總結
我希望能通過讀取excel來分離測試腳本和測試數據,這個做到了,但不幸的是我將讀取csv文件的行號寫死了,造成了后面在舊用
例中新加用例造成行號改變帶來的不便。參數一個個列在表格中的嘗試也是不怎么可取的,界面變得參差不齊,初衷是為了讓別人一眼
看懂,卻也並沒有帶來維護工作量的降低。
當然我后來發現了 if,看到了新的一絲曙光,又決定重新來過。