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


    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主要应用于一般的服务,对数据的一致性、可靠性、安全性要求高。

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

    三、请求与响应

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

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

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

    2.1作用:

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

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

    2.2格式:

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

    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请求方法:添加资源(对服务端已存在的资源也可以做修改和删除操作)

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

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

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

    方法:POST

    请求头:

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

    请求参数:

    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 http://WebXml.com.cn/"> string string /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为单位。

    今天的分享就到此结束了,大家还有什么不懂的可以评论区下提问哈,如果我的文章对你有所帮助的话,可以点赞三联支持一下哈

  • 相关阅读:
    本周大新闻|华为发布BB观影眼镜,Geenee AR试穿加入AI生成玩法
    ceval 数据集明文位置编码嵌入
    曲折的tensorflow安装过程(Tensorflow 安装问题的解决)
    微服务项目:尚融宝(48)(核心业务流程:借款 审核(3))
    MindFusion.WinForms Pack 2022.R2
    ​软考-高级-信息系统项目管理师教程 第四版【第17章-项目干系人管理-思维导图】​
    常用的激活函数(Sigmoid、Tanh、ReLU等)
    LeetCode 每日一题 2022/8/22-2022/8/28
    leetcode2389--感染二叉树需要的总时间
    MDG产品近10年最大变革综述 - MDG on S/4HANA 2023
  • 原文地址:https://blog.csdn.net/m0_47485438/article/details/133778433