WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)

摘要:
为了解决这个问题,我们毅然决定提取所有参数,并使用Excel文件来驱动数据。方法如下:1.问题分析应该由Excel表格驱动。首先,jmeter应该能够读取表中指定的行和列。在使用它之前,我觉得我总是从表的第一行读取,所以我尝试修改源代码以读取指定的Excel表行。

转载: http://www.cnblogs.com/chengtch/p/6105231.html

通过逐个录入的方式,好不容易将需要测试几十个接口的300多个测试用例录入sampler-http请求中,固定的测试环境跑起来也还

感觉良好。不料在新服务器环境中跑用例时,问题来了:修改参数维护脚本等成本太大!

脚本参数是写死的,修改起来得一个个请求打开来依次输入参数值,有点坑。。。

WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)第1张

为了解决这个问题,毅然决定将所有参数提取处理,用excel文件来做数据驱动,做法如下:

1、问题分析

要通过excel表格做数据驱动,首先得让jmeter能读到表格中指定的行和列。考虑到个人代码能力捉急,选择用csv data set config

元件。之前用它是感觉总是从表格第一行开始读的,所以尝试修改源码使之能读取指定的excel表格行。

2、修改Jmeter源码

先看一下csv data set config元件界面

WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)第2张

从上面元件界面来看,并没有设置读取行的功能,为了能使csv data set config能自动读取表格指定行,参照下面链接的方法

http://zfy421.iteye.com/blog/2322251,为csv data set config添加了读取行的功能,如下图:

WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)第3张

有了它就可以关心如何在excel或csv文件来设置测试用例了

3、设计用例

WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)第4张

用例excel格式如上图所示,有用例编号、期望值、参数等等列,可以用jmeter读取任一行任一列的表格数据,

貌似没什么毛病了。

4、再看一下修改后的测试脚本

费力调整了一番,但脚本量并没有减少……

WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)第5张

5、总结

我希望能通过读取excel来分离测试脚本和测试数据,这个做到了,但不幸的是我将读取csv文件的行号写死了,造成了后面在旧用

例中新加用例造成行号改变带来的不便。参数一个个列在表格中的尝试也是不怎么可取的,界面变得参差不齐,初衷是为了让别人一眼

看懂,却也并没有带来维护工作量的降低。

当然我后来发现了 if,看到了新的一丝曙光,又决定重新来过。

免责声明:文章转载自《WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CheckListBox怎样得到多选值?Echarts Jqplot嵌extjs4 windows 装配方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

接口与委托

在接口中可以声明方法、属性、索引指示器和事件,接口中并不提供它们的实现。因此接口是函数成员声明的集合。如果类或结构从一个接口派生,则这个类或结构负责实现该接口中所声明的所有函数成员。一个接口可以继承多个接口,而一个类或结构可以实现多个接口。由于C#语言不支持多继承,因此,如果某个类需要继承多个类的行为时,只能使用多个接口加以说明。 委托类型,在功能上它类...

数据库_12_数据类型(列类型)

所谓的数据类型:对数据进行统一的分类,从系统的角度出发为了能够使用统一的方式进行管理,更好的利用有限的空间。 SQL中将数据类型分成了三大类:数值类型,字符串类型和时间日期类型。 1、数值型 数值型数据:都是数值。系统将数值型分为整数型和小数型 1.1整数型 存放整型数据,在SQL中因为更多要考虑如何节省磁盘空间,所以系统将整型又细分成了5类: Tiny...

面向对象三大特性五大原则 + 低耦合高内聚

面向对象的三大特性是"封装、"多态"、"继承",五大原则是"单一职责原则"、"开放封闭原则"、"里氏替换原则"、"依赖倒置原则"、"接口分离原则"。 什么是面向对象 面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、...

webpack 多环境打包

目前来说有两种方案: 方案一: 1.修改build文件夹下build.js文件   添加声明变量    2.修改config文件夹下dev.env.js文件   这个是开发环境所用版本    3.修改config文件夹下prod.env.js文件    添加不同环境的名称,暂时以正式环境和测试环境两个环境为例    4.不同配置参数引用          ...

powerbuilder连接oracle数据库

一、打开已经安装好的pb9.0,主界面菜单栏有个两个圆柱形就行数据库连接,点击database。 二、选择oracle版本,由于数据库版本是9i,可以使用084 oracle8/8i.右键--选择new profile。当然你也可以设置好的profile导入进去。也可以把设置好profile导出来。 三、弹出database profile setup界...

Spring Cloud实战 | 第三篇:Spring Cloud整合Nacos实现配置中心

前言 随着eureka的停止更新,如果同时实现注册中心和配置中心需要SpringCloud Eureka和SpringCloud Config两个组件;配置修改刷新时需要SpringCloud Bus消息总线发出消息通知(Kafka、RabbitMQ等)到各个服务完成配置动态更新,否者只有重启各个微服务实例,但是nacos可以同时实现注册和配置中心,以及配...