WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)
转载: http://www.cnblogs.com/chengtch/p/6105231.html
通过逐个录入的方式,好不容易将需要测试几十个接口的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,看到了新的一丝曙光,又决定重新来过。