接口学习总结

2023-10-27

接口测试学习总结

什么是接口测试

接口测试是项目测试的一部分,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。

接口测试的目的:

接口测试的目的是测试接口,尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。实现开发期并行测试,减少页面层测试的深度,缩短整个项目的测试周期。

接口测试需要的资料:后台需要提供接口文档且保证接口文档的准确性和统一性。

接口测试工具:jmeter

接口测试环境搭建步骤:

1. 安装JDK
下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
按照常见的win程序一步一步安装
2. Jmeter安装:
下载网址:http://jmeter.apache.org/download_jmeter.cgi 
下载后,直接解压缩,运行bin文件夹中的jmeter.bat

这里需要注意安装jdk时,应添加一个环境变量

接口测试用例编写

(1) 请求参数考虑全面(字段为空、请求参数顺序填写-避免遗漏现象、请求参数错误)

(2) 请求结果要写上预期结果并写上返回结果的状态码(200,401,404,还有文档中抛出的错误状态码)

接口请求步骤

1.在电脑桌面上生成jmeter.bat的快捷方式

 

 2.点击电脑桌面jmeter快捷方式,进入jmeter界面。界面默认会有一个测试计划和一个工作台。

 

3.右键测试计划 添加线程组

 

4.右键线程组-sample-http请求

 

5.在请求中添加请求参数

 

在添加请求参数时应注意:

1.请求路径一定要写对,不能出现空格现象

2.get请求用 Parameters

post请求用Body data   

提交文件-(表单传参)一定要带上文件扩展名。扩展名网址   http://tool.oschina.net/commons/

3.请求一定要加上信息头管理器(传参类型)

 

4.请求头中含有token时,要加上  json 、Beanshell Postprocessor ,请求出现token的在json中用$.token写出,在Beanshell  Postprocessor中用脚本把token值传参出来

 

 

Beanshell  Postprocessor传参token的脚本如下:

import org.apache.commons.net.util.Base64;

String source = vars.get("token") + ":";

byte[] encodedBytes = Base64.encodeBase64(source.getBytes());

String encoded = new String(encodedBytes);

vars.put("encoded", "basic" + " " + encoded);(可以直接用)

5.请求中,需要携带token的应该在请求的信息头管理器中加上请求类型 ${encoded}。(和脚本一致)

 

6.请求参数中含有cookie的需要在请求中添加HTTP Cookie 管理器

6.web端网页请求可以用录制的方法抓取请求。

1.在工作台中添加HTTP代理服务器

2.打开火狐浏览器,配置代理服务器,代理服务器配置好了,选择控制的线程组(录制的请求在哪个线程里)。启动录制过程,在代理服务器上进行请求操作,操作完成后,停止运行,筛选有用的请求。

7.如果请求过程中,偶发请求失败现象,可以用jemter大量请求获取失败现象出现的几率:

在线程组上填写线程数为一个数值(你想复现多少次)-----在请求上加上一个固定定时器(防止请求过多,对服务器产生压力--服务器崩溃)-----可以运行

8.请求过程中要对请求结果进行判断,即响应断言

 

添加响应断言时,要对出现的结果进行判断,错误的响应应该在要测试的相应字段勾选lgnore status,在要测试的模式中填写一个响应判断的状态码。(文档中抛出的异常错误代码)

 

jmeter 操作数据库 (操作数据库需谨慎,先在自己本地上建,熟练之后在测试服务器上操作)
  操作数据库基本有四个步骤:(1)导入mysql的jdbc的jar包 (2)创建数据库的连接配置,线程组里添加配置元件-JDBC Connection Configuration (3)线程组里添加jdbc request,写sql语句 (4)添加察看结果树,点击启动按钮,就能看到执行的SQL。具体的实例如下截图所示:

下载连接mysql数据库jar包,地址:http://files.cnblogs.com/files/xiaoxitest/mysql-connector-java-5.1.28.zip(因不支持上传.jar文件,下载后需要手动把扩展名改为.jar)将文件拷贝到Jmeter\lib\ext目录下,我的是:D:\Program Files\apache-jmeter-2.11\lib\ext启动Jmeter,在测试计划点击浏览添加刚刚拷贝的jar包

 

创建数据库的连接配置,线程组里添加配置元件-JDBC Connection Configuration

 

jmeter数据库驱动列表如下表所示:

数据库

驱动

数据库url

mysql

com.mysql.jdbc.Driver

jdbc:mysql://host:port/{dbname}?allowMultiQueries=true

oracle

org.postgresql.Driver

dbc:postgresql:{dbname}

线程组里添加jdbc request,写sql语句

 查看结果树

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

接口学习总结 的相关文章

  • 软件测试自动化UI框架之生成测试报告

    设置报告 自动化测试最后的运行结果要以报告的形式呈现 报告的格式是web端网页 需要引入第三方库 不是唯一的 有很多 一般一个公司统一用一个 1 引入自动生成测试框架报告 2 创建测试报告生成文件夹 reports 3 写代码 框架的入口文
  • 你遇到过的测试难题(6)记一次xxl-job的故障失败没有重试机制

    你遇到过的测试难题 6 记一次xxl job的故障失败没有重试机制 你遇到过的测试难题 6 记一次xxl job的故障失败没有重试机制 业务背景 线上故障表现 故障结论 测试过程 总结 你遇到过的测试难题 6 记一次xxl job的故障失败
  • 测试用例之支付功能测试点整理【建议收擦】

    一 梳理支付的业务流程如下 点击支付 gt 选择支付方式 gt 确认金额 gt 输入密码 gt 成功支付 完成这个流程测试 也就是完成了项目的冒烟测试 然后需要测试针对流程中的每个阶段和步骤 具体分析可能导致异常的测试点 所以我们按阶段和输
  • 小白转行软件测试,面试3天接到3个offer,月薪10k(程序人生)

    简介 这篇文章主要介绍了小白转行软件测试 面试3天接到3个offer 月薪10k 示例代码 以及相关的经验技巧 值得大家参考 我叫小马 来自于河北保定 毕业以来一直对自己的人生充满了迷茫 一次偶然的机会让我重新找到了方向 2015年高中毕业
  • Python自动化测试之自定义日志及其封装

    前言 在软件测试的日常工作中 日志是个非常重要的模块 对于测试来说 日志的作用主要有以下四点 1 调试程序 2 了解系统程序运行的情况是否正常 3 系统城西运行故障分析和问题定位 4 用来做用户行为分析和数据统计 因此在编写自动化测试脚本和
  • pycharm语句用法

    Python介绍 Python 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 Python 的设计具有很强的可读性 相比其他语言经常使用英文关键字 其他语言的一些标点符号 它具有比其他语言更有特色语法结构 Python 是
  • 全面介绍:从零开始学习Playwright白动化测试框架

    01 简介 Playwright是2021年微软开源的一个项目 playwright python 针对 Python 语言的纯自动化工具 它可以通过单个API自动执行 Chromium Firefox 和 WebKit 浏览器 同时支持以
  • 避免20种常见Selenium自动化测试异常,让你的测试更加稳定和可靠!

    常见的Selenium异常 以下是所有Selenium WebDriver代码中可能发生的一些常见Selenium异常 1 ElementClickInterceptedException 由于以某种方式隐藏了接收到click命令的元素 因
  • 测试人员为什么要去了解业务架构和技术架构?

    问题 在入职公司不久 我参加老员工再给新来的员工和管培生宣讲产品的业务 功能 直接拿着功能清单和实际页面在讲解 等把产品功能讲完了 我问了一下实习生和管培生怎么样 他们都说功能讲的太多 太乱 不清楚讲解产品的核心业务逻辑及操作流程 后来发现
  • 提升Jmeter测试效率的9种参数化方法!

    jmeter工具无论做接口测试还是性能测试 参数化都是一个必须掌握且非常有用的知识点 参数化的使用场景 1 多个请求都是同一个ip地址 若服务器地址更换了 则脚本需要更改每个请求的ip 2 注册账号 不允许账号重复 想批量注册用户时 3 模
  • 需求不明确的情况下,测试该如何处理?

    当需求不明确的情况下 测试团队可以采取以下措施来处理 1 与项目团队进行沟通 测试团队应与项目团队密切合作 与业务分析师 产品经理等相关人员进行沟通 以获取更多的需求细节和背景信息 通过与相关方的交流 可以更好地理解需求的意图和预期 从而更
  • Python自动化测试之登录脚本的实现

    环境准备 前提已经安装好python pycharm 配置了对应的环境变量 1 安装selenium模块 文件 gt 设置 gt 项目 script gt python解释器 gt selenium 2 安装浏览器驱动器 以谷歌浏览器为例
  • 什么是自动化测试,看完你就懂了!

    随着互联网技术的飞速发展 软件本身的规模和复杂度也是逐步增加 为了保证软件项目能够保质保量交付到客户手中 软件测试环节就显得非常重要了 它可以看作是软件项目交付给客户最后一道安全保证 今天给大家聊聊软件测试当中自动化测试相关的知识 希望对大
  • Python自动化测试之线上流量回放:分析、存储与本地化支持!

    在自动化测试中 线上流量回放是一项关键技术 它可以模拟真实用户请求并重现线上场景 验证系统的性能和稳定性 本文将介绍Python自动化测试中的线上流量回放技术 并提供实战代码 帮助你了解日志分割解析 存储至本地MySQL数据库 以及本地化存
  • Jmeter 性能 —— 搭建skywalking监控平台!

    1 环境搭建 注意核对系统时间是否正确 Datentpdate pool ntp org 在任意目录新建一个docker compose的目录 cd homemkdir docker compose 在docker compose的目录下
  • Appium 自动化自学篇 —— 初识Appium自动化!

    Appium 简介 随着移动终端的普及 手机应用越来越多 也越来越重要 而作为测试 的我们也要与时俱进 努力学习手机 App 的相关测试 文章将介绍手机自动化测试框架 Appium 那究竟什么是 Appium 呢 接下来我们一起来学习Pyt
  • 选择正确的自动化测试工具:打造高效测试流程的必备利器!

    摘要 自动化测试正在逐步取代部分手动测试 因为它可以节省时间并提高测试质量 特别是在进行回归测试的情况下 自动化可以通过多种方式提高效率 手动进行重复测试是浪费时间和资源 此外 由于重复测试可能会遗漏 因此存在一定的错误范围 但是自动化中发
  • 【2024全网最火最全性能教程】一文搞懂性能测试!

    性能测试概念 我们经常看到的性能测试概念 有人或称之为性能策略 或称之为性能方法 或称之为性能场景分类 大概可以看到性能测试 负载测试 压力测试 强度测试等一堆专有名词的解释 针对这些概念 我不知道你看到的时候会不会像我的感觉一样 乱 一个
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退

随机推荐

  • 目标检测中anchor box(先验框)的理解

    近来心血来潮 把CV领域关于目标检测的主流方法YOLOv3和Faster RCNN看了一下 对其中的先验框 anchor box 一直不太理解 在广泛地阅读了一些相关讲解后 有了一定的理解 在此记录一下 先验框的个人理解 先验框最早提出于F
  • 限定特定的IP访问服务器

    需求 windows and Linux系统仅限指定的IP或网段登陆 解决方法和思路 1 Windows设置的方法有多种 方法一 通过本机自带的防火墙设置限制IP访问 修改下面三个规则属性 点击属性 查看对应设置 设定可以访问的地址段或IP
  • 构建REST风格的Web Service

    1 什么是REST REST 是由 Roy Fielding 在他的论文 Architectural Styles and the Design of Network based Software Architectures 中提出的一个术
  • 完美卸载Visual Studio2015的方法汇总

    前言 由于各种原因 阿木寺被迫回到VS2013时代 所以此时VS2015也没有必要存在 于是再网上找了各种卸载方法 简介 方法一 适合于有点基础电脑知识的童鞋 难度 方法二 适合于小白 难度 方法三 适合于技术控 难度 方法一 1 利用当初
  • PyTorch中torchvision介绍

    TorchVision包包含流行的数据集 模型架构和用于计算机视觉的图像转换 它是PyTorch项目的一部分 TorchVison最新发布版本为v0 11 1 发布较频繁 它的license为BSD 3 Clause 它的源码位于 http
  • 高并发秒杀系统架构设计与实现(RuoYi-Cloud-SecKill)

    介绍 本项目是基于若依RuoYi Cloud的高并发秒杀微服务项目 RuoYi Cloud SecKill 后端采用Spring Boot Spring Cloud Alibaba MyBatis 前端采用Vue ElementUI 通过创
  • [Java]Maven项目中,子模块之间引用不同模块的方法时,会出现< 程序包:com.xxx.xxx.common.base.result 不存在>解决办法

    启动 ServiceOssApplication时报错 程序包 com atguigu guli common base result 不存在 分析思路 该程序包是另一个子模块 common下的 common utill子模块中的工具类路径
  • 【redis篇】超详细的redis安装教程,学不会你找我

    目录 第一 下载安装包 第二 上传到服务器并解压 第三 安装编译所需依赖 升级GCC 第四 开始预编译 第五 安装 第六步 启动 方式一 直接启动 方式二 守护进程启动 方式三 开机自启动 第一 下载安装包 安装包下载地址 Download
  • 百度翻译api JAVA实现

    进入官方 http api fanyi baidu com api trans product index 点击立即使用 申请得到appid和密钥 ps 这要用作开发时的常量 若当月翻译字符数 2百万 当月免费 若超过2百万字符 按照49元
  • 【C++】继承基础知识一遍过

    目录 一 概念 二 继承定义 1 继承格式 2 访问限定符与继承方式的关系 3 继承父类成员访问方式的变化 小结 三 父类与子类对象赋值转化 四 继承作用域 1 特点 2 测试题 五 派生类不一样的默认成员函数 1 构造函数 2 拷贝构造
  • 机器学习笔记九——线性模型原理以及python实现案例

    线性模型 1 线性模型概述 2 广义线性模型 3 用于回归的线性模型 3 1 线性回归 又名普通最小二乘法 3 1 1 单变量线性回归 3 1 2 多变量线性回归 3 2 岭回归 ridge regression 3 3 LASSO回归 4
  • Excel基本操作方法

    Excel基本操作方法 1 选择不连续的单元格 选择一单元格之后 按 ctrl 键不放 并单击其他需要选择的单元格 2 插入单元格 选择 开始 单元格 组 单击插入按钮 在弹出的下拉列表中选择 插入单元格选项 3 合并和拆分单元格 选择要合
  • 如何用Stata完成(shui)一篇经济学论文(七):判断语句

    目录 基本判断语句 if 逻辑判断 或且非 用 判断 基本判断语句 if 与其他语言类似 Stata中也有if if else 和while 不过我还从来没有在Stata用过后两个 秉着这个教程也是一个快速教程 这里我就只介绍if 如果大家
  • pandas 解决滑动窗口不会计算存在空值的窗口

    Pandas官方的滑动窗口文档请参考 https pandas pydata org docs reference api pandas DataFrame rolling html 解决方法 添加参数 min periods 用于指定 当
  • element ui修改table行鼠标经过样式(包括固定列)

  • 超详细SpringMVC 之 JSR303与拦截器

    一 JSR303 简介 JSR303是做服务端校验 参数验证 实现服务器校验步骤 1 做服务端参数校验 JSR303 的jar包依赖
  • 设计模式——设计模式简介和七大原则

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud 黑马旅游 谷粒商城 学成在线 设计模式 牛客面试题 目录 一 通过经典面试题掌握重点 二 设计模式的目的和核心原
  • Unity3D之键盘输入

    目录 获取按键状态 检测特殊按键 获取键盘输入 自定义键位 获取按键状态 Unity的Input类提供了几个方法来获取按键的状态 GetKey GetKey方法用于检测指定按键是否被按住 if Input GetKey KeyCode Sp
  • twrp Xposed zip包脚本定制全解析

    声明 本文不对印刷机导致的任何结果承担责任 请谨慎尝试 想要研究一个新技术 最好的办法就是read the fuck source code 读源码时最直接高效的方式 当然 这很难啃 所以通常也可以配合网上一些教程来理解 但是通常 值钱的技
  • 接口学习总结

    接口测试学习总结 什么是接口测试 接口测试是项目测试的一部分 它测试的主要对象是接口 是测试系统组件间接口的一种测试 接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点 测试的重点是检查数据交互 传递 和控制管理过程以及系