自动化测试之接口测试

1.接口测试-接口测试(重点)
  • 是什么?
    测试后端实现是否符合接口规范

  • 为什么
    程序安全、效率

  • 怎么用?(实现流程)
    模拟客户向服务器发送数据,然后查看响应
    要素1:定位服务器资源(通过URL实现:http://www.baidu.com | http://127.0.0.1:8000/资源路径)
    要素2:模拟用户提交数据
    要素3:查看响应的结果是否符合预期

  • 接口测试分类
    类型1:web接口测试(BS架构)
    | ----服务器接口测试:测试自己公司实现的接口
    | ----第三方接口测试:测试别的公司实现的接口
    类型2:模块接口测试(CS架构)

2.restful 风格
  • 约定成俗的习惯、规范

  • 易读性 和 易维护性

  • 增删改查 与三要素

    1.URL + POST
    2.提交数据 ----设置 HTTP 信息头 Content-Type application/json;charset=utf-8
    键=值&键=值
    3.200 | 201 + 增加后的记录
    删:
    1.URL + delete
    2.提交数据
    键=值&键=值
    3.204 + 无
    改:
    1.URL + PUT
    2.提交数据
    键=值&键=值
    JSON
    3.200 | 201 +修改后的数据
    查:
    1.URL + GET
    2.提交数据
    键=值&键=值
    3.200 + 一条或多条记录

    404 --- 路径有误
    505 --- 服务器异常
    
  • JSON数据
    1. 和Html一样也是数据载体
    2. 简洁、效率高
    3. 对象:{“键”:“值”,“键”:“值”,…}
    数组:[值1,值2…]可嵌套使用

GET 和 POST 区别:

1.POST 安全性高

2.POST提交的数据量没有大小限制

3.GET执行效率高
3. Jmeter:概述
  • 是什么?
    Jmeter是Apache公司使用Java开发的一款测试工具

  • 为什么?
    高效、功能强大
    模拟一些高并发或多次循环等特殊测试场景

  • 怎么用?

	  1.下载Jmeter,解压缩
      2.安装Java环境(注意:安装路径不能有中文字符、空格,安装了JDK+JRE)
      3.简单了解Jmeter的目录结构
      bin:存储Jmeter的可执行程序,比如启动程序
      lib:存储Jmeter整合功能(一些.jar文件的小程序)
      4.启动Jmeter
      启动方式一:bin/Apachejmeter.jar双击
      启动方式二:jmeter.bat windows下启动程序
      		   jmeter.sh linux下的启动程序
      5.编写一个Jmeter版本的测试案例 
      
  • Jmeter 的作用优点以及缺点(了解)
    • 作用:
      1.接口测试
      2.性能测试:内在—程序的算法(响应时间)
      3.压力测试:外在—外在负载(当前用户数)
      4.web自动化测试
      5.数据库测试:测试数据库
      6.Java程序测试:
    • 优点:
      1.开源、免费
      2.支持多协议 http、https、ftp、
      3.小巧
      4.功能强大
    • 缺点:
      1.不支持 IP 欺骗
      2.不支持前端测试
4. Jmeter组件:线程组
  • 是什么?
    进程:一个正在执行的程序就是一个进程
    线程:程序中的执行线索(一个进程有多个执行线索)
    线程组:按照线程性质对线程进行分组
    ---------------------------------------------
    并发执行:多个线程同时执行 特点:执行结束的顺序和线程的启动顺序不一定一致。
    顺序执行:按照线程的启动顺序挨个执行

  • 为什么?

    • 方便管理
  • 怎么用?(基本使用)

    • 三者关系:进程有多个线程组,线程组可以有多个线程
      进程 ---- 测试计划
      线程组 — 线程组
      线程 ----- 线程组属性的线程数
    • 默认情况下,线程组中的线程是并发执行的
      每一个线程都要执行组内的 http请求
    • 怎么设置线程组顺序执行
      勾选测试计划的第一个复选框(独立运行每个线程组)
    • 可以使用http请求默认值抽取共同的ip 端口号 协议 编码集等信息
    • 测试计划 —> 右击 —>添加 —>配置元件 —> http请求默认值
    • 作用:通过复用属性简化实现,提高测试效率
  • 线程组高级(初始化与销毁线程组)

    • 属性1:线程数 — 模拟用户数
    • 属性2:时间值 — 在指定时间内启动所有线程
    • 属性3:循环数 —单个 用户访问的次数
  • 调度器(计时器)

    1. 循环次数设置为永远
    2. 设置启动延迟 x 和持续时间 y
      在x 秒后访问服务器,并且持续y秒
    3. 设置启动时间m,和结束时间n
      在m时开始访问,在n时结束
      注意:2和3不能同时使用,否则矛盾了
5. Jmeter组件:参数化概述(了解)
  • 是什么
    参数化就是动态的获取并设置数据

  • 为什么
    比如执行批量操作时,批量插入或批量删除,之前数据都是手写的,每执行一次都需要修改一次,效率太低。参数化可以以程序代替人工获取并设置数据:安全+高效

6.Jmeter组件:参数化实现之CSV Data Set Config(重点)
  • 是什么

    • Jmeter 参数化实现组件之一
  • 为什么

    • 通过这个组件可以动态获取并设置数据,实现类似批量添加操作(执行一次,将多条数据插入到数据库)
  • 怎么用

    • 实现思想
      1.编写添加框架,设置循环次数为3

        Json数据格式固定,值先不写
      
      2.编写一个外部的文本文档,存储要添加的三条数据
      
      3.Jmeter添加一个参数化组件
      
      CSV Data Set Config,每次循环时都读取外部文档的一行数据,再将4个字段分别设置进提交的Json数据中
      
    • 实现流程
      1.线程组设置循环次数,http请求负责插入数据
      2.创建文本文档,标准的csv格式文件,每一行数据对应数据库一条记录,不同字段之间使用英文,分隔
      3.创建CSV组件,声明数据源以及编码集以及解析格式
      4.要将csv解析的数据设置进json格式的请求报文,语法$(变量名)

  • 其他
    CSV Data Set Config —CSV数据配置
    CSV ----->逗号分隔值文件格式

7. Jmeter组件:线程组实现高级
  • Set Up 线程组:最先执行的线程组
    加载程序主体执行所需的资源

  • Tear Down 线程组:最后执行的线程组
    程序正式关闭之前,可以将数据保存进内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值