前言
根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发。测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关测试人员只需在后期更改测试用例即可维护自动化接口测试,完成相关测试任务。
特别提示:
知识是用来分享的,但是也要尊重作者的权益,转载请注明出处,未经本人允许不可用于商业目的。
自动化接口测试方案:
测试用例模板编写:
为了批量执行待测试的接口,我们采用测试用例模板的方式在jmeter中进行参数化,用例只主要包括接口名称、接口路径、接口传输参数、返回值验证、前期验证SQL、前期SQL结果验证、后期验证SQL、后期SQL结果验证字段等,用例文件格式为文本文件(制表符分隔),如下图所示:(建议以Excel方式打开)
Jmeter脚本开发:
1、在jmeter的测试计划中添加“线程组”,如下图所示:
2、选中线程组后添加配置元件“HTTP请求默认值”,如下图所示:
在默认http请求中添加服务器IP和端口号,如下图所示:
3、选中线程组右键配置元件中的“JDBC Connection Configuration”,如下图所示:
输入数据库连接参数,如下图所示:(以oracle为例)
备注:建议使用2.13版本并且将oracle所需的jar拷贝到jmeter安装路径下的lib文件夹中,或者在测试计划界面的Library下直接添加,如下图所示:
4、选中线程组右键在Sampler中选择“BeanShell Sampler”,如下图所示:
在BeanShell Sampler中填写读取用例条数代码,如下图所示:
5、选中线程组右键在逻辑控制器中选择“简单控制器”,如下图所示:
修改名称为:前期清理,之后在其下右键添加Sampler中的“JDBC Request”,并配置相关参数,如下图所示:
备注:JDBC Request中的Variable Name要与JDBC Connection Configuration中的保持一致,sql执行中输入要初始化数据库的语句。
6、选中线程组右键控制器中选择添加“循环控制器”,并在循环控制器下方添加配置元件中的“CSV Data Set Config”(注意一定要在循环控制器下添加),并将存储有接口测试用例的txt文件配置到其中,用于参数化操作,如下图所示:
备注:此处根据测试用例文档进行相关字段参数化对照表:
接口名称 |
接口路径 |
接口传输参数 |
返回值验证 |
前期验证SQL |
前期SQL结果验证 |
后期验证SQL |
后期SQL结果验证 |
ApiName |
Url |
Body |
Assert |
PreSQL |
PreAssert |
PostSQL |
PostAssert |
7、在循环控制器下添加简单控制器,并在其下添加前期验证和后期验证的“JDBC Request”,方式可参考步骤5中的操作,同是在简单控制器下还需添加sampler中的“HTTP请求”,并配置相关参数,如下图所示:
调整前期验证、接口请求、后期验证等执行顺序,如下图所示:
调整顺序后,在前期验证、接口请求、后期验证下添加响应断言组件,对响应结果进行正确性判断。如下图所示:
最后通过添加“察看结果树”和“Debug Sampler”进行脚本调试,调试通过后保存到指定文档中。