Jmeter接口测试(一)

一、接口测试分类

    内部接口:测试被测系统各个子模块之间的接口,或者被测系统提供给内部系统使用的接口。

    外部接口:

        1.被测系统调用外部的接口。

        2.系统对外提供的接口。

接口测试重点:检查接口参数传递的正确性,接口功能的正确性,输出结果的正确性,以及对各种异常情况的容错处理,以及权限控制,分页,调用次数的限制。

 

二、目前接口架构设计

1.基于SOAP架构。基于XML规范。基于WebService协议。特点:接口地址?wsdl结尾。

2.基于RPC架构,基于dubbo协议,thrift协议。SpringCloud微服务。

3.基于RestFul架构,基于json规范。基于http协议。
    RestFul规则∶
    接口地址: http://127.0.0.1/user , get(查询用户) , post(新增用户),put(修改用户).delete (删除用户)

    Json数据格式:只有两种数据类型:键值对:{key : value}
                                                            数组:[arry1,arry2]

 

 三、市面上的接口测试工具

Jmeter+Ant+Git+Jenkins

Postman+Newman+Git+Jenkins

soapui, apipost..

 

四、Jmeter目录介绍

Jmeter接口测试(一)_第1张图片

backups :脚本备份目录,格式JMX。自动保存接口项目。

bin目录∶存放Jmeter的启动脚本,配置文件,模块文件。
    jmeter.bat  启动Jmeter
    jmeter.properties  核心配置文件。

docs:离线帮助文档。

extras∶存放与第三方的集成构建文件。如:集成Ant,Jenkins。

lib目录: 库文件,存放jar包。

licensce:许可证文件。

printable_docs:用户手册

 

五、Jmeter常用组件

1.测试计划:起点,所有组件的容器

2.线程组:代表一定数量的用户

3.取样器:向服务器发送请求的最小单元

4.逻辑控制器:结合取样器实现一些复杂的逻辑,控制组件的执行顺序

5.前置处理器:在请求之前的工作

6.后置处理器:在请求之后的工作

7.断言:用于判断请求是否成功

8.定时器:负责在请求之间的延迟或间隔。

                 常用定时器:固定定时器、高斯随机定时器、同步定时器

9.配置元件:配置信息

10.监听器:负责收集结果

执行顺序

测试计划》线程组》配置元件》前置处理器》定时器》取样器》后置处理器》断言》监听器

作用域

必须组件:测试计划,线程组,取样器

辅助组件:除了必须组件外

组件会作用于父组件,同级组件,以及同级组件下的所有子组件。

 

六、接口测试流程

1.拿到api接口文档(或抓包获取接口),熟悉接口业务、接口地址、鉴权方式、入参、出参、错误码;

2.编写接口测试用例

       测试思路:

       正例:输入正常入参,查看接口成功返回。

       反例:

               鉴权:空,必填,错误,鉴权过期,鉴权次数限制...

               参数:空,类型异常,长度异常,错误码的覆盖

               其他:黑名单、分页场景,调用次数限制。

               兼容性:一个接口对应多个版本App

3.使用接口测试工具执行。

4.Jmeter+Ant+Git+Jenkins实现持续集成输出接口测试报告。通过电子邮件发送。

 

 七、Jmeter接口关联

1、正则表达式提取器

Jmeter接口测试(一)_第2张图片

 2、Jsonpath提取器

①代表根目录 $

②取子节点

          .

         $[" "]

③取得复杂节点的值(结合下标和子节点)

         例:$.tags[17].name

Jmeter接口测试(一)_第3张图片

 

八、业务闭环

1、增加

因为标签名不能重复,所以需要加上一个随机数。

2、批量删除标签

Jmeter接口测试(一)_第4张图片

正则取值的格式:id_1, id_2, id_3

3、文件上传

第一种方式:在mime写入:multipart / form_data

第二种方式:勾上post使用multipart / form_data, 然后在高级里面选择【java】

 

九、Jmeter调试

1、调试取样器

2、Jmeter+fiddler调试

 

 

你可能感兴趣的:(软件测试,jmeter,java,服务器)