IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 接口测试学习之旅 -> 正文阅读

[开发测试]接口测试学习之旅

接口测试的重点

检查接口参数传递的正确性,接口功能的正确性,输出结果的正确性以及对各种异常情况的容错处理,权限控制等。

接口测试的分类

  • 内部接口:测试被测系统各个子模块之间的接口,或者被测系统提供给内部系统使用的接口
  • 外部接口:1.被测系统调用外部的接口 2.系统对外提供的接口

一级目录

在这里插入图片描述

  • backups:脚本备份目录,格式JMX
  • bin目录:存放jmeter的启动脚本,配置文件,模板文件(jmeter.bat 启动jmeter jmeter.properties
    核心配置文件 )
  • docs:离线帮助文档
  • extras:存放与第三方的集成构建文件,集成Ant,Jenkins
  • lib目录:存放jar包
  • license:许可证文件

Jmeter常用组件

1.测试计划:所有组件的容器(起点)
2.线程组:代表一定数量的用户
3.取样器:向服务器发送请求的最小单元
4.逻辑控制器:结合取样器实现一些复杂的逻辑
5.前置处理器:在请求之前的工作
6.后置处理器:在请求之后工作
7.断言:用于判断请求是否成功
8.定时器:负责在请求之间的延迟间隔,固定,高斯,随机
9.配置文件:配置信息
10.监听器:负责收集结果

执行顺序:

  • 测试计划–>线程组–>配置元件–>前置处理器–>定时器–>取样器(请求)–>后置处理器–>断言–>监听器

作用域:

  • 必须组件:测试计划,线程组,取样器
  • 辅助组件:逻辑控制器、前置处理器、后置处理器、断言、定时器、配置文件、监听器(除必须组件外)

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

Jmeter执行接口测试

1.拿到api文档(Fiddler),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码
2.编写接口测试用例
测试思路:

  • 正例:输入正常入参,查看接口成功返回
  • 反例:鉴权:空,错误,鉴权过期,健全次数限制 参数:空,类型错误,长度错误,错误码的覆盖 其他:黑名单,分页

3.执行接口测试工具执行
4.Jmeter+Ant+ins实现持续集成输出接口测试报告

接口关联

1.使用正则表达式实现接口关联(如果说一个请求里面有多次请求服务器)
在这里插入图片描述

2.使用Jsonpath表达式实现接口关联(只能作用于返回值为json的值)
从根目录开始查找(绝对路径): . e x p l i r e s i n 从 任 意 目 录 开 始 查 找 ( 相 对 路 劲 ) : .explires_in 从任意目录开始查找(相对路劲): .expliresi?n…explires_in
在这里插入图片描述

实现接口业务的闭环

增,改,删,查

Jmeter动态参数处理

随机数字
随机字符串

Jmeter接口测试断言

相应版本:返回的json数据
相应代码:200 404
相应信息:OK
响应头
请求头
URL
文档(文本):返回的JSON数据以文本的方式去判断
忽略状态:当有多个断言时。如果有一个断言失败了,另一个成功了,那么结果是成功了
请求数据
在这里插入图片描述

  • 字符串:相应内容包含需要匹配的字符串,大小写敏感,不支持正则
  • 包含:相应内容包含需要匹配的字符串,大小写敏感,支持正则
  • 匹配:相应内容完全等于需要匹配的字符串,大小写敏感,支持正则
  • 相等:相应内容完全等于需要匹配的字符串,大小写敏感,不支持正则

Jmeter接口测试调试方案

通过查看结果树里面的请求信息和相应信息
使用调试取样器
jmeter结合fiddler实现调试

csv参数化的处理

在这里插入图片描述

在这里插入图片描述

必须带请求头的接口

使用Jmeter自带的http代码服务器实现(把jmeter作为代理)

  • 设置端口和目录的位置

在这里插入图片描述

  • 设置本机的请求通过代理去发送

Jmeter中的Bean Shell组件和语法规则

BeanShell是一种完全符合java语法规则的脚本语言,同时他还有自己的语法规则

  • Jmeter有哪些BeanShell
    1.前置处理器:BeanShell预处理器
    2.定时器:BeanShell
    3.采样器:BeanShell
    4.后置处理器:BeanShell
    5.断言:BeanShell
    6.监听器:BeanShell
  • BeanShell的内置的变量的变量和语法规则
    1、log打印日志
  • log.info()
  • log.error()
    2.vars表示:JmeterVariables,操作Jmeter变量(只能在当前线程组使用)
  • 用户定义的变量
  • 正则表达式,JSON提取器
  • 定义变量
  • 获取变量的值
    log.info(var.get())
    vais.put(“www”,“yy”)
  • 3.props用于存取Jmeter的全局静态变量(可以跨线程组)
    获取全局变量
    log.info(props.get())
    props.put(“aaa”,“bbb”)
  • 4.prov获取到前面一个取样器返回的信息
    获取到前面取样器的值
    log.info(prev.getResponseCode())
    log.info(prev.getResponseDataAsString())
    5.ctx切换上下文
    System.out.println(ctx.getProperties()

Jmeter执行数据库操作

  • 1.准备数据库的驱动jar包

方式一:在测试计划里面引用
方式二:放到jmeter的lib目录下

  • 2.创建一个:JDBC connection configuration
  • 3.新建一个: JDBC request

Jmeter的非GUI(界面)方式运行

执行JMX文件的命令:jmeter
命令行参数:
-n -t :-n非界面方式运行 -t指定jmx文件的位置
-l: -l指定生成的jtl格式的结果
-e -o: -e生成html报告, -o指定html报告的文件夹(这文件夹必须空目录)

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 22:01:22  更:2021-11-14 22:01:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:19:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码