首页 > 编程语言 >java接口测试利器【postman】

java接口测试利器【postman】

时间:2024-12-06 19:56:51浏览次数:8  
标签:存储 java postman 利器 Token Session Cookie 客户端 请求

怎样使用postman

一、 了解postman

1. postman?

—— 软件测试用来做接口测试的工具。

2. 下载postman

—— https://www.getpostman.com/(官方下载)

3.postman的界面

二、 用postman工具测试

  1. 创建一个新的请求

    • 打开 Postman 应用,创建一个工作区。
    • 点击“New”按钮,选择“Request”来创建一个新的请求。

  1. 配置请求

    • 在新建的请求中,你需要配置以下信息:
      • 请求类型(GET, POST, PUT, DELETE 等)。
      • URL(API 的地址)。
      • Headers(请求头,如 Content-Type, Authorization 等)。
      • Body(请求体,对于 POST 或 PUT 请求,你需要在这里添加数据)。

  1. 发送请求

    • 配置好所有信息后,点击“Send”按钮发送请求。
  2. 查看响应

    • Postman 会在请求发送后显示响应。
    • 你可以查看响应状态码、响应时间、响应体等信息。
  3. 测试和验证

    • 使用 Postman 的测试脚本功能(Tests)来验证响应是否符合预期。
    • 你可以编写 JavaScript 代码来检查状态码、响应体等。
  4. 保存和组织请求

    • 你可以将单个请求保存为“Collection”,并组织到不同的文件夹中。
    • 你还可以将 Collections 导出和分享给团队成员。
  5. 自动化测试

    • Postman 支持使用 Newman 进行命令行测试,也可以集成到 CI/CD 流程中。
  6. 监控

    • Postman 还提供了监控功能,可以定期运行 Collections 并报告 API 的性能和可用性。
  7. Cookie:(进阶)

    • 定义:Cookie 是服务器发送到用户浏览器并保存在本地的小块数据。
    • 用途:主要用于在用户和服务器之间保持状态。例如,它可以存储用户的登录状态,以便用户在浏览网站时不需要重复登录。
    • 存储位置:存储在用户的浏览器中。
    • 安全性:由于存储在客户端,安全性较低,容易受到跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的威胁。
    • 生命周期:可以设置过期时间,过期后浏览器会自动删除。
  8. Session

    • 定义:Session 是服务器端保存的用来跟踪用户状态的一块数据结构。
    • 用途:用于跟踪用户的会话信息,比如用户的登录状态、用户在会话期间的行为等。
    • 存储位置:存储在服务器端,客户端通过Cookie来标识Session。
    • 安全性:比Cookie更安全,因为数据存储在服务器端,不易被篡改。
    • 生命周期:Session的生命周期通常由服务器设置,用户关闭浏览器后Session可能仍然存在,直到服务器端的Session超时。
  9. Token(这里主要指JWT - JSON Web Tokens):

    • 定义:Token 是服务端生成的一串包含用户身份信息的加密字符串,用于客户端和服务端之间的无状态认证。
    • 用途:用于API的身份验证,特别是在分布式系统中,Token可以在不同的服务之间传递,而不需要服务之间共享Session信息。
    • 存储位置:通常存储在客户端,可以存储在Cookie中,也可以存储在LocalStorage或SessionStorage中。
    • 安全性:Token本身是安全的,因为它是经过加密的,但是存储Token的方式需要安全处理,以防止被盗用。
    • 生命周期:Token可以设置有效期,过期后需要重新认证以获取新的Token。

它们之间的区别

  • 状态性:Session 是有状态的,需要在服务器端保存用户状态信息;而Token是无状态的,不依赖于服务器端的状态信息。
  • 传输方式:Cookie 通过HTTP请求头发送,而Token通常作为HTTP请求的一部分(如Authorization头部)发送。
  • 应用场景:Cookie适合于Web应用,用户需要频繁与服务器交互的场景;Token适合于API服务,特别是跨域、跨服务的身份验证。
  • 安全性:Token通常比Cookie更安全,因为它包含了加密信息,而Cookie更容易受到攻击。

三. Http请求数据的格式

  1. 请求行

    • 包含HTTP方法(如GET、POST等)、请求的资源路径(URL)以及HTTP协议版本。
  2. 请求头(Headers)

    • 包含了一系列的键值对,提供了关于服务器、客户端、请求体等的附加信息。常见的请求头包括:
      • Host:请求的服务器域名。
      • User-Agent:发出请求的客户端信息。
      • Accept:客户端能够处理的媒体类型。
      • Content-Type:请求体的媒体类型。
      • Content-Length:请求体的长度。
      • Authorization:认证信息,如Bearer Token。
      • Cookie:存储在客户端的服务器状态信息。
  3. 请求体(Body)

    • 包含发送给服务器的数据。这通常用于POST和PUT请求,可以包含表单数据、JSON、XML等格式的数据。

1.常见的请求体数据格式:

  1. 表单数据(application/x-www-form-urlencoded)

    • 键值对编码格式,类似于URL查询字符串,例如key1=value1&key2=value2
  2. JSON(application/json)

    • 轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。例如:
       

      json

      {
        "name": "John",
        "age": 30
      }
  3. XML(application/xml 或 text/xml)

    • 标记语言,用于存储和传输数据。例如:
       

      xml

      <person>
        <name>John</name>
        <age>30</age>
      </person>
  4. 多部分表单数据(multipart/form-data)

    • 用于传输文件和文本字段,例如文件上传。
  5. 纯文本(text/plain)

    • 简单的文本数据,不包含任何格式化信息。

示例HTTP请求报文:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer token_string
Accept: application/json

{
  "name": "John",
  "age": 30
}

标签:存储,java,postman,利器,Token,Session,Cookie,客户端,请求
From: https://blog.csdn.net/2401_84552999/article/details/144295769

相关文章

  • 一周掌握 Java 入门知识
    学习目标:提示:这里可以添加学习目标例如:一周掌握Java入门知识学习内容:提示:这里可以添加要学的内容例如:搭建Java开发环境掌握Java基本语法掌握条件语句掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:周一至周五晚上7点—晚上9点周六上午9点......
  • ubuntu docker镜像制作swram集群部署java项目
    1,window安装docker工具,安装git工具docker下载地址:docker.com安装完成后启动docker,设置镜像源{ "builder":{  "gc":{   "defaultKeepStorage":"20GB",   "enabled":true  } }, "experimental":true, &......
  • Java 注解实现字段加密和解密
    前言一般对防止数据泄露有两种方式,第一种是在数据库层面去做加密,还有一种就是在应用层去加密。数据库层面做数据加密的是最安全的,实现需要对驱动做操作,略显复杂,如果对保密程度不是非常高,可以在应用层面去实现数据加解密。下面将基于应用层面结合aop去实现数据加解密功能。1.引入......
  • Y20030029 Java+微信+SPRINGBOOT+MYSQL+LW+传统文化展示微信小程序的设计与开发 配置
    传统文化展示微信小程序1.项目摘要2.课题开发的背景和意义3.项目功能4.界面展示5.源码获取1.项目摘要基于微信小程序的传统文化展示小程序是一个集合了多种传统文化元素与现代化技术的创新平台。它充分利用了微信小程序的便捷性和普及性,为广大用户提供了一个深入......
  • Java注解和反射详解
    文章目录注解@Override的定义@Deprecated的定义:@SuppressWarnings的定义:元注解:反射(重要!!!)反射Class类类加载内存分析什么时候会发生类初始化?获得类运行时结构:动态创建对象反射操作泛型注解操作注解@Override的定义@Target(ElementType.METHOD)//只能放在方法上@Ret......
  • JavaScript查找数组中某个元素的位置
    indexOf:在JavaScript中,你可以使用indexOf()方法来查找数组中元素的位置。如果元素不存在于数组中,indexOf()会返回-1。letindex=array.indexOf('x')if(index!=-1){//...}findIndex:如果你需要查找的是复杂对象数组,你可能需要自定义一个查找函数,使用findIndex()letobj......
  • Java 2025年面试总结(持续更新)
    1.自我介绍简单一点吧,把自己的情况说清楚,一两分钟即可。2.微服务的组件答:微服务是把一个类似单体项目根据某种维度进行拆分,比如根据功能模块进行拆分。拆分之后,具备了更好的抗压性/扩展性,还可以更好的解耦,但是维护相比之前会更麻烦了常用的组件有SpringCloud。其中里面......
  • Java MyBatis返回两个字段作为Map的key和value
    使用MyBatis时,可能会遇到这种情况:只查询两个字段,需要返回一个Map,其中第一个字段作为key,第二个字段作为value。这种查询在某些场景非常好用,比如查询字典,查询出的key和value就是字典的value和label,利用HashMap的get方法时间复杂度为O(1)的特点,可以实现字典的快......
  • JAVA8的computeIfAbsent使用方法
    基础说明computeIfAbsent是Java8引入的Map接口中的一个默认方法。它允许你以原子操作的方式在给定键不存在时计算其值,并将其添加到映射中。如果该键已经存在,则返回已存在的值而不执行任何计算。下面是computeIfAbsent的基本用法:Map<K,V>map=newConcurrentHashMap<......
  • 无插件H5播放器EasyPlayer.js网页直播/点播播放器应该怎么使用JavaScript初始化?
    JavaScript可以用来控制播放器的基本功能,如播放、暂停、停止、快进、快退等。通过监听播放器的事件,JavaScript可以响应用户的操作,实现交互式控制。使用JavaScript,开发者可以创建自定义的播放器界面,而不是使用浏览器默认的控件。这可以通过操作DOM来实现,比如显示播放进度条、音量控......