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