一、概念

  接口测试,也是功能测试,针对的是程序对外部的接口。简单来说,接口就是对数据库的操作。

  接口返回的数据都是json类型(通用的数据类型)

  接口测试的依据:接口文档(又称 接口协议),文档包括:

    1、url

    2、请求方式 post、get 等

    3、入参(请求参数)

    4、返回参数

    5、请求、返回示例

    6、状态码说明

 

二、接口测试的优点

  1、可以发现一些页面操作发现不了的bug

  2、尽早发现bug,实现解决bug 的最低成本

 

三、get、post 请求

  HTTP请求包含:请求体、请求头

  get  请求只有请求头,没有请求体,参数只能写在url 或者 cookie 里面;请求可直接通过浏览器进行发送

  post 请求有请求头,也有请求体,参数存放在请求体中

 

四、接口附带知识点

  1、前端、后端

    前端:客户端

    后端:服务端、server 端

  2、cookie、session

    cookie 为存在本地的一个键值对

    session 为存在服务端的一个键值对

  3、接口签名

    为了防止别人恶意刷请求

    一个加密之后的字符串

 

五、接口测试工具知识点(以 jmeter 为例)

  1、jmeter 参数化

    1.1 文件参数化

      右击 -> 添加 -> 配置元件 -> CSV Data Set Config
    1.2 用户定义的变量

      右击 -> 添加 -> 配置元件 -> 用户定义的变量
    1.3 函数助手

      选项 -> 函数助手对话框
      __random
      __time    (yyyyMMddHHmmss 格式 年月日时分秒)

   2、关联

    把上一个请求返回的数据,拿过来放到下个请求里面使用

    通过【正则表达式提取器】进行数据提取并参数化,然后在下个请求对该参数化数据进行调用

      右击 -> 添加 -> 后置处理器 -> 正则表达式提取器

  3、断言

    自动检查接口返回的结果

    右击 -> 添加 -> 断言 -> 响应断言

  4、数据库操作

    4.1 添加一个 JDBC Connection Configuration

      右击 -> 配置元件 -> JDBC Connection Configuration

    4.2 配置 MySQL 连接池名称,后续 JDBC Request 需要指定

    4.3 数据库 URL

      如: jdbc:mysql://[ip+端口号]/jxz?allowMultiQueries=true&characterEncoding=UTF-8

    4.4 数据库驱动

      指定连接什么型的数据库 MySQL、Oracle、SQL server等

      如:MySQL -> com.mysql.jdbc.Driver

      选择callable可以执行所有类型的sql语句

  注:使用jmeter进行测试时,如果返回结果为乱码,则修改jmeter.properties文件中的该字段的值改为utf-8