接口测试与数据驱动

1简介

    数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。

 

2 数据驱动与jmeter接口测试

      我们已经简单介绍了接口测试参数录入及测试执行的过程,因为大量的测试脚本与测试数据内聚在一起,使得我们的测试脚本的可移植性及可维护性变得很不好,所以我们接下来采取了csv格式表格保存测试数据来驱动测试的方式。

3.具体实现方法

1)新建一个csv文件

     打开excel,另存为后缀名为csv,如test.csv,如下图

 

Jmeter接口测试自动化结合excel用例_测试数据

 

2) 用excel表格打开新建的csv文件,设计测试用例

Jmeter接口测试自动化结合excel用例_测试脚本_02

 

字段说明:
caseSeq||apiType||aipSeq||apiName||priority||url||function||purpose||parameter||expectValue
用例编号||接口类型||接口编号||接口名称||优先级||访问地址||请求方式||测试目的||接口参数||期望结果

 

 

3) 设计测试脚本读取csv中的测试用例数据

 3.1) 线程组下新增循环控制器,循环次数设置为永远

    

Jmeter接口测试自动化结合excel用例_测试脚本_03

 

  

  3.2) 循环控制器下新增CSV Data Set ConFig控件

注意放的位置,放到循环体的下面,如果要线程循环,就可以放到线程下面。

Jmeter接口测试自动化结合excel用例_测试数据_04

 

   

Jmeter接口测试自动化结合excel用例_数据驱动_05

 3.3) 添加如果控制器,来做用例优先级的筛选执行

注意要去掉勾,这是4.0新增的功能。

 

新添加的If Controller(判定控制器)现在使用性能最佳选项的缺省表达式。

如果使用的语言提供了缓存已编译的脚本,则新添加的JSR223 Test Element现在默认使用这种特性。

循环控制器和ForEach控制器现在可以将它的当前迭代命名为__jm __ <您的单元的名称> __ idx这种格式的变量,例如,您可以像下面那样定义自己的循环控制器MyLoopController:

 $ {__ jm__MyLoopController__idx}

Jmeter接口测试自动化结合excel用例_数据驱动_06

 

  

   3.4) 根据调用方法选择请求方式

通过if选择器区分GET与POST方法的请求,配置http请求

 

Jmeter接口测试自动化结合excel用例_测试脚本_07

 

Post请求的配置方式 :post请求参数放在body data中    

Jmeter接口测试自动化结合excel用例_测试数据_08

 

                                         

Get 请求的配置方式:get请求的参数配置url后面

Jmeter接口测试自动化结合excel用例_测试数据_09

 

3.5) 配置响应断言

 

Jmeter接口测试自动化结合excel用例_测试脚本_10

 

 

3.6)执行测试,查看结果

     通过查看结果树控件查看测试结果详情,绿色为通过

 

Jmeter接口测试自动化结合excel用例_测试脚本_11

 

 

4.福利自己基于jmeter4.0做了一个,并提供一个下载链接。

链接:  https://pan.baidu.com/s/1ENhojjCqD3h1y2ecZxF-aA           密码: ybrc

注意CSV的位置一定不能错 

Jmeter接口测试自动化结合excel用例_数据驱动_12

 




 接口测试与数据驱动

1简介

    数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。

 

2 数据驱动与jmeter接口测试

      我们已经简单介绍了接口测试参数录入及测试执行的过程,因为大量的测试脚本与测试数据内聚在一起,使得我们的测试脚本的可移植性及可维护性变得很不好,所以我们接下来采取了csv格式表格保存测试数据来驱动测试的方式。

3.具体实现方法

1)新建一个csv文件

     打开excel,另存为后缀名为csv,如test.csv,如下图

 

Jmeter接口测试自动化结合excel用例_测试数据

 

2) 用excel表格打开新建的csv文件,设计测试用例

Jmeter接口测试自动化结合excel用例_测试脚本_02

 

字段说明:
caseSeq||apiType||aipSeq||apiName||priority||url||function||purpose||parameter||expectValue
用例编号||接口类型||接口编号||接口名称||优先级||访问地址||请求方式||测试目的||接口参数||期望结果

 

 

3) 设计测试脚本读取csv中的测试用例数据

 3.1) 线程组下新增循环控制器,循环次数设置为永远

    

Jmeter接口测试自动化结合excel用例_测试脚本_03

 

  

  3.2) 循环控制器下新增CSV Data Set ConFig控件

注意放的位置,放到循环体的下面,如果要线程循环,就可以放到线程下面。

Jmeter接口测试自动化结合excel用例_测试数据_04

 

   

Jmeter接口测试自动化结合excel用例_数据驱动_05

 3.3) 添加如果控制器,来做用例优先级的筛选执行

注意要去掉勾,这是4.0新增的功能。

 

新添加的If Controller(判定控制器)现在使用性能最佳选项的缺省表达式。

如果使用的语言提供了缓存已编译的脚本,则新添加的JSR223 Test Element现在默认使用这种特性。

循环控制器和ForEach控制器现在可以将它的当前迭代命名为__jm __ <您的单元的名称> __ idx这种格式的变量,例如,您可以像下面那样定义自己的循环控制器MyLoopController:

 $ {__ jm__MyLoopController__idx}

Jmeter接口测试自动化结合excel用例_数据驱动_06

 

  

   3.4) 根据调用方法选择请求方式

通过if选择器区分GET与POST方法的请求,配置http请求

 

Jmeter接口测试自动化结合excel用例_测试脚本_07

 

Post请求的配置方式 :post请求参数放在body data中    

Jmeter接口测试自动化结合excel用例_测试数据_08

 

                                         

Get 请求的配置方式:get请求的参数配置url后面

Jmeter接口测试自动化结合excel用例_测试数据_09

 

3.5) 配置响应断言

 

Jmeter接口测试自动化结合excel用例_测试脚本_10

 

 

3.6)执行测试,查看结果

     通过查看结果树控件查看测试结果详情,绿色为通过

 

Jmeter接口测试自动化结合excel用例_测试脚本_11

 

 

4.福利自己基于jmeter4.0做了一个,并提供一个下载链接。

链接:  https://pan.baidu.com/s/1ENhojjCqD3h1y2ecZxF-aA           密码: ybrc

注意CSV的位置一定不能错 

Jmeter接口测试自动化结合excel用例_数据驱动_12