接口自动化测试 —— 工具、请求与响应

一、工具:

1.工具介绍

postman :很主流的API测试工具,也是工作里面使用最广泛的研发工具。

JMeter:

ApiPost:

2.安装postman:

安装好直接打开,不用注册。

二、通信模式:

1、同步通信:

客户端请求服务端必须有回应,在回应之前不能做别的操作,有缺陷,会造成排队、等待、堵塞。

当任务太多时,服务器压力太大,可能会造成崩溃,为了防止崩溃这时就需要线程池技术,我们现在的软件都是使用这种技术。

线程池技术:(所有的请求都是task,每个task都是一个线程)线程池指定同时执行最大任务数。(如服务器指定最大任务数为90,客户端发来100个任务数,剩下的10个采取队列机制(先进先出原则))

queue:队列(先进先出的原则)

2、异步通信:

客户端向mq消息队列发送数据(商品名、价格),服务端从mq消息队列获取数据,向mq消息队列回应(扣款成功),mq消息队列向客户端回应(支付成功)

主流的MQ消息中间件:

Kafka、RabbitMQ、ActiveMQ

APache是Apache软件基金会的一个开放源码的网页服务器

Kafka在大数据领域主要使用在实时流数据方面非常优秀,能够处理千万亿的数据

RabbitMQ主要应用于一般的服务,对数据的一致性、可靠性、安全性要求高。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

三、请求与响应

1.在网页中抓取网络请求

京东网为例:右键检查→Network→刷新→www.jd.com

2.客户端向服务端发送Request请求:

2.1作用:

客户端(app、浏览器)发送请求给服务器时,使用的协议——http请求协议。

规定发送给服务器的数据传输的语法格式。

2.2格式:

1、请求方法
2、请求地址:(url:http协议+域名+资源路径)
3、请求头:  Key:Value格式User-Agent:描述请求发送端的浏览器类型Content-Type:描述请求参数的数据类型 (json数据格式;form表单数据;xml)referer:cookie:
4、请求参数post和put大部分有请求参数(在postman中有请求参数的方法需要在请求头中添加类型,在请求体中选择类型)get和delete大部分没有请求参数

postman的介绍:(根据接口文档、模拟客户端向服务器发送请求)

3.请求方法:

常用的请求方法有8种,最常用的有4-5种:

GET请求方法:获取资源

POST请求方法:添加资源(对服务端已存在的资源也可以做修改和删除操作)

PUT:修改资源

DELETE:删除资源

OPTIONS:路由映射

3.1 GET请求方法:获取资源

例1:

步骤1:打开京东网,在获取到的数据种找一个图片类型pgn,获取请求地址复制到postman中用:

步骤2:在postman中选GET方法,粘贴获取到的地址,点击send就可以获取到图片了:

GET请求参数:

query params

步骤1:在接口文档中获取方法和地址:(协议加第二行的域名加第一行的资源路径)

步骤2:在postman中选择GET方法,复制地址,点击send会自动出现请求参数(KEY),我们进行填写(如下图的VALUE部分)

(GET方法的请求参数 在postman中是写在Params中的)

3.2 POST请求方法:添加资源(对服务端已存在的资源也可以做修改和删除操作)

请求方法:
请求地址:
请求头:表现形式为key-value的形式在请求头中关注”Content-Type“来获取请求参数的类型,如:json数据格式:application/json        表单格式:application/x-www-form-urlencodedXML数据格式:text/xml
请求参数:(在postman请求体中选择数据类型时:form格式直接选择x-www-form-urlencoded,xml和json格式需要先点raw再选)

步骤1:在接口文档中获取:请求方法;请求地址(地址要加协议);请求头中获取请求参数类型;具体的请求参数:

解析接口文档总结一下获取到的内容:

方法:POST

请求头:

数据格式:Content-Type: text/xml; charset=utf-8

请求参数:

<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> soap:Body <getMobileCodeInfo xmlns="http://WebXml.com.cn/"> <mobileCode>string</mobileCode> <userID>string</userID> </getMobileCodeInfo> /soap:Body /soap:Envelope

步骤2:打开postman工具:

1、选择请求方法

2、粘贴请求地址(前面加http协议)

3、点请求头Headers

4、点Body,选择获取到的数据的类型(form格式直接选择x-www-form-urlencoded,xml和json格式需要先点raw再选)选响应的数据数据类型,填写具体的请求参数

例2:

步骤1:获取请求地址、请求方法、请求数据类型、具体请求参数:

步骤2:在postman中选择方法、填地址(要填协议http)、在请求头中添加数据类型、在请求体中选择参数类型、粘贴参数

2.3.3 PUT:修改资源

2.3.4 DELETE:删除资源

2.3.5 OPTIONS:路由映射

3.服务端响应客户端:

3.1作用:

服务器端,针对客户端发送的http请求,回发响应数据——http应答

规定回发给客户端的数据组织格式

3.2格式:

1、协议状态码

2、响应头 (key:value)

Content-Type:描述响应体中的数据类型

3、响应数据(绝大多数不为空。请求成功:回发数据,失败:回发错误信息)

4、响应时间(记)

指的是客户端发送的时间加上服务端响应回复客户端请求的时间之和。以毫秒为单位。

响应数据的大小以kb为单位。

END今天的分享就到此结束了,点赞关注不迷路~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/160473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java 进阶篇】从Java对象到JSON:Jackson的魔法之旅

在现代的软件开发中&#xff0c;处理数据的能力是至关重要的。而当我们谈及数据格式时&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;通常是首选。为了在Java中轻松地将对象转换为JSON&#xff0c;我们需要一种强大而灵活的工具。这时&#xff0c;Jackso…

【Java 进阶篇】Redis:打开缓存之门

介绍 Redis&#xff08;Remote Dictionary Server&#xff09;是一个高性能的键值对存储系统&#xff0c;被广泛用作缓存、消息中间件和数据库。它以其快速的读写能力、支持多种数据结构和丰富的功能而闻名。在这篇博客中&#xff0c;我们将深入了解Redis的概念、安装以及基本…

MQTT协议消息代理服务远程连接

目录 1. Linux 搭建 Mosquitto 2. Linux 安装Cpolar 3. 创建MQTT服务公网连接地址 4. 客户端远程连接MQTT服务 5. 代码调用MQTT服务 6. 固定连接TCP公网地址 7. 固定地址连接测试 Mosquitto是一个开源的消息代理&#xff0c;它实现了MQTT协议版本3.1和3.1.1。它可以在不…

第二十章:多线程

进程 线程的特点 1.进程是资源分配的最小单位&#xff0c;线程是最小的执行单位 2.一个进程可以有多个线程 3.线程共享进程资源 package twentyth; public class ThreadTest extends Thread { public void run() { for (int i 1; i < 10; i) {//继承重…

Unity开发之C#基础-File文件读取

前言 今天我们将要讲解到c#中 对于文件的读写是怎样的 那么没接触过特别系统编程小伙伴们应该会有一个疑问 这跟文件有什么关系呢&#xff1f; 我们这样来理解 首先 大家对电脑或多或少都应该有不少的了解吧 那么我们这些软件 都是通过变成一个一个文件保存在电脑中 我们才可以…

【2023C卷最新题目】20天拿下华为OD笔试之【贪心】2023C-找座位/2023B-座位调整-全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入输出说明示例一输入输出 示例二输入输出说明 解题思路代码PythonJavaC时空复杂度 相同问题不同描述2023C-找座位题目描述输入描述输出描述示例一输入输出 示例二输入输出 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描…

Spring Boot创建和使用(重要)

Spring的诞生是为了简化Java程序开发的&#xff01; Spring Boot的诞生是为了简化Spring程序开发的&#xff01; Spring Boot就是Spring框架的脚手架&#xff0c;为了快速开发Spring框架而诞生的&#xff01;&#xff01; Spring Boot的优点&#xff1a; 快速集成框架&#x…

2023年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大纲…

MySQL 事务的底层原理和 MVCC(一)

在事务的实现机制上&#xff0c;MySQL 采用的是 WAL&#xff08;Write-ahead logging&#xff0c;预写式日志&#xff09;机制来实现的。 在使用 WAL 的系统中&#xff0c;所有的修改都先被写入到日志中&#xff0c;然后再被应用到系统中。通常包含 redo 和 undo 两部分信息。 …

【Java开发】 Springboot集成Mybatis-Flex

1 Mybatis-Flex 介绍 1.1简介 Mybatis-Flex 是一个优雅的 Mybatis 增强框架&#xff0c;它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库&#xff0c;其内置的 QueryWrapper 亮点帮助我们极大的减少了 SQL 编写的工作的同时&#xff…

cocos2dx ​​Animate3D(二)

Twirl 扭曲旋转特效 // 持续时间(时间过后不会回到原来的样子) // 整个屏幕被分成几行几列 // 扭曲中心位置 // 扭曲的数量 // 振幅 static Twirl* create(float duration, const Size& gridSize, const Vec2& position, unsigned int twirls, float amplitude)…

编程语言发展史:C语言的诞生及其影响

预计更新 第一部分&#xff1a;早期编程语言 1.1布尔代数和机器语言 1.2汇编语言的出现和发展 1.3高级语言的兴起 第二部分&#xff1a;主流编程语言 1.1 C语言的诞生及其影响 1.2 C语言的发展和应用 1.3 Java语言的出现和发展 1.4 Python语言的兴起和特点 1.5 JavaScript语言…

基于springboot实现摄影跟拍预定管理系统【项目源码+论文说明】计算机毕业设计

基于springboot实现摄影跟拍预定管理系统演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要…

【2018年数据结构真题】

方法一 给定一个含n(n>1)个整数的数组&#xff0c;请设计一个在时间上尽可能高效的算法&#xff0c;找出数组中未出现的最小正整数。例如&#xff0c;数组{-5&#xff0c;3&#xff0c;2&#xff0c;3}中未出现的最小正整数是1&#xff1b;数组{1&#xff0c;2&#xff0c;…

AIGC变革BI行业,永洪发布vividime全球化品牌

大数据产业创新服务媒体 ——聚焦数据 改变商业 国内BI商业智能市场&#xff0c;一直有着“内永洪&#xff0c;外Tableau”的说法。成立于2012年的永洪科技经过十多年的发展&#xff0c;早已崛起为国内大数据行业的一支劲旅。 ChatGPT火爆出圈之后&#xff0c;AIGC快速渗透&am…

每日一练 | 华为认证真题练习Day19

Day19 华为认证中级考试真题 1、DHCP协议运行过程中&#xff0c;客户端从申请到IP地址时的流程是 A.1-2-3-4 B.1-4-3-2 C.3-2-1-4 D.3-4-1-2 2、VRRP报文的IP协议号是&#xff1a; A.112 B.114 C.116 D.118 3、MPLS的标签字段共有多少bit? A.8 B.3 C.1 D.20 4…

【C++】vector的介绍与使用

&#x1f9d1;‍&#x1f393;个人主页&#xff1a;简 料 &#x1f3c6;所属专栏&#xff1a;C &#x1f3c6;个人社区&#xff1a;越努力越幸运社区 &#x1f3c6;简 介&#xff1a;简料简料&#xff0c;简单有料~在校大学生一枚&#xff0c;专注C/C/GO的干货分…

2020年下半年试题一:论信息系统项目的成本管理

论文题目 1.概要叙述你参与过的信息系统项目&#xff08;项目的背景、项目规模、发起单位、目的、项目内容、组织结构、项目周期、交付的成果等&#xff09;&#xff0c;并说明你在其中承担的工作&#xff08;项目背景要求本人真实经历&#xff0c;不得抄袭及杜撰&#xff09;。…

编程语言发展史:汇编语言的出现和发展

一、汇编语言的出现 随着计算机硬件的发展&#xff0c;机器语言变得越来越复杂&#xff0c;难以被人类程序员理解和编写。因此&#xff0c;出现了更高级别的编程语言&#xff0c;这些语言使用类似英语的语法&#xff0c;使程序员能够更容易地编写和维护程序。 其中一种高级语…

web网页渗透测试

web网页渗透测试 流程 信息收集网站扫描访问控制测试漏洞扫描尝试注入攻击验证漏洞后渗透测试渗透测试报告 信息收集 收集目标网站的基本信息&#xff0c;包括域名、IP 地址、子域名等。使用 WHOIS 查询、搜索引擎、子域名枚举工具等进行信息收集。 网站扫描 使用端口扫描…