Postman接口测试工具详解

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,还请三连支持一波哇ヾ(@^∇^@)ノ)

目录

引言

Postman简介

Postman的特点

Postman的下载与安装

Postman的基本使用

发送第一个请求

响应结果查看

Postman的高级功能

接口测试流程

断言

环境变量和全局变量

动态参数

Mock测试

实例演示

获取鉴权码(Access Token)接口

编写请求

提取Access Token

编写接口测试用例

批量执行测试用例

Postman的Collection Runner与Tests集成

Postman的环境和全局变量管理

Postman的Pre-request Script和Tests Script

Postman的Mock Server

Postman的Monitor功能

Postman Monitor功能详解

1. 创建Monitor

2. 监控执行

3. 查看Monitor结果

4. 通知与警报

Postman API与集成

1. Postman API

2. 集成与自动化


引言

在现代软件开发中,接口测试是不可或缺的一环。接口测试确保不同系统之间的数据交换准确无误,保障软件产品的质量和稳定性。Postman作为一款强大的接口测试工具,因其简单易用、功能丰富而广受开发者喜爱。本文将详细解析Postman接口测试工具,包括其特点、安装、基本使用、高级功能等,并通过实例代码演示如何使用Postman进行接口测试。

Postman简介

Postman的特点

Postman是一款API开发辅助工具,它支持HTTP协议的所有请求方式,如GET、POST、PUT、DELETE等。其特点主要包括:

  1. 简单易用的图形化用户界面:Postman提供了直观易用的界面,使得HTTP请求的构建、发送和结果查看变得十分简单。
  2. 支持多种请求方式:除了支持标准的HTTP请求方式外,Postman还支持文件、图片、视频等多种类型的数据请求。
  3. 支持接口文档的生成和管理:Postman允许开发者将接口请求组织成集合(Collection),并生成详细的接口文档,方便团队内部共享和管理。
  4. 支持团队协作:Postman支持团队之间同步接口数据,团队成员可以共享接口请求和测试用例。
  5. 支持Mock测试:Postman提供了Mock服务,允许开发者在开发阶段模拟后端接口响应,提高前端开发效率。

Postman的下载与安装

Postman的安装非常简单,用户可以直接从官网下载对应平台的安装包,双击安装即可。安装完成后,用户需要注册并登录Postman账号,以便使用更多高级功能。

Postman的基本使用

发送第一个请求

以百度翻译API为例,演示如何使用Postman发送一个GET请求。

  1. 创建Collection:首先,在Postman中创建一个Collection,用于管理接口请求。点击左上角的“New”按钮,选择“Collection”,输入Collection名称后保存。

  2. 创建接口请求:在Collection下,点击“Add Request”按钮,创建一个新的接口请求。填写请求的名称(如“BaiduTranslate”),选择请求方式(GET),并输入请求地址(如https://fanyi-api.baidu.com/api/trans/vip/translate)。

  3. 设置请求参数:在“Params”标签页中,添加请求参数,如q=applefrom=autoto=zh等。

  4. 发送请求:点击“Send”按钮,发送请求。在“Body”标签页中查看响应结果。

响应结果查看

发送请求后,Postman会在下方显示响应结果,包括状态码、响应头、响应体等信息。通过这些信息,我们可以验证接口返回的数据是否符合预期。

Postman的高级功能

接口测试流程

接口测试流程通常包括以下几个步骤:

  1. 获取接口文档:从开发或产品经理处获取接口文档,了解接口地址、请求方式、请求参数、响应数据等信息。
  2. 编写测试用例:根据接口文档,编写接口测试用例,包括正常情况和异常情况。
  3. 执行接口测试:使用Postman等接口测试工具执行测试用例,记录测试结果。
  4. 提交并跟踪bug:将测试中发现的问题提交给开发团队,并跟踪bug的修复情况。

断言

断言是接口测试中非常重要的一个环节,它用于验证接口返回的数据是否符合预期。Postman支持多种断言方式,如状态码断言、响应体内容断言等。

  • 状态码断言:验证响应的状态码是否为200(表示请求成功)。
  • 响应体内容断言:验证响应体中是否包含特定的字符串或数据。

环境变量和全局变量

Postman支持环境变量和全局变量,它们可以在请求中动态引用,方便在不同环境下进行测试。

  • 环境变量:用于存储与特定环境相关的配置信息,如测试环境、生产环境的URL地址。
  • 全局变量:用于存储跨环境共享的配置信息,如API密钥等。

动态参数

Postman支持动态参数,可以在请求中引用环境变量或全局变量的值。这样,我们就可以根据不同的测试环境动态修改请求参数,提高测试的灵活性和效率。

Mock测试

Mock测试是Postman提供的一个非常实用的功能,它允许我们在开发阶段模拟后端接口响应,从而加速前端开发进程。通过创建Mock服务,我们可以定义接口的响应数据和响应延迟,模拟真实的接口交互场景。

实例演示

获取鉴权码(Access Token)接口

假设我们需要通过某个接口获取访问令牌(Access Token),该接口需要发送POST请求,并携带用户名和密码作为请求体数据。

编写请求

在Postman中,我们按照以下步骤来编写这个获取Access Token的请求:

  1. 选择请求方式:在请求界面中,首先选择请求方式为POST。

  2. 输入请求URL:在URL输入框中,填写获取Access Token的接口地址。

  3. 设置请求体:由于这个接口需要携带用户名和密码作为请求体数据,因此我们需要切换到“Body”标签页,并选择“raw”类型,然后选择JSON格式。在输入框中填写如下JSON数据:

    {  "username": "your_username",  "password": "your_password"  
    }

    注意:这里your_usernameyour_password需要替换为实际的用户名和密码。

  4. 添加Headers:有些接口在请求时需要在Headers中携带特定的字段,如Content-TypeAuthorization等。对于这个接口,我们通常需要设置Content-Typeapplication/json来告诉服务器我们发送的是JSON格式的数据。点击“Headers”标签页,并添加一行,键为Content-Type,值为application/json

  5. 发送请求:一切准备就绪后,点击“Send”按钮发送请求。

提取Access Token

在Postman中,我们可以使用Tests脚本来提取响应体中的数据。Tests脚本是JavaScript代码,可以在请求发送后执行,用于对响应结果进行验证和数据处理。

  1. 切换到Tests标签页:在请求发送后,点击“Tests”标签页。

  2. 编写Tests脚本:在Tests脚本输入框中,我们可以编写JavaScript代码来提取Access Token。假设响应体的JSON结构如下:

    {  "access_token": "your_access_token",  "expires_in": 3600  
    }

    我们可以使用pm.response.json()来获取响应体的JSON对象,并通过属性访问的方式提取Access Token。编写如下Tests脚本:

    var jsonData = pm.response.json();  
    pm.environment.set("access_token", jsonData.access_token);

    这段代码首先使用pm.response.json()获取响应体的JSON对象,并将其存储在变量jsonData中。然后,使用pm.environment.set()函数将Access Token存储在环境变量中,以便在后续的请求中引用。注意,这里假设我们已经在Postman中创建了一个环境,并且这个环境已经被选中。

  3. 使用提取的Access Token:在后续的请求中,我们可以通过{ {access_token}}的方式来引用存储在环境变量中的Access Token。例如,在需要携带Authorization头部字段的请求中,我们可以这样设置:

    Key: Authorization  
    Value: Bearer {{access_token}}

    注意,Bearer是HTTP授权方案中定义的一种类型,表示使用Bearer Token进行授权。

编写接口测试用例

在接口测试过程中,我们需要编写测试用例来覆盖各种可能的场景。测试用例应该包括正常情况和异常情况,以确保接口的稳定性和可靠性。

  1. 正常情况测试用例
    • 输入正确的用户名和密码,验证是否能够成功获取Access Token。
    • 使用获取到的Access Token进行其他需要授权的接口请求,验证授权是否成功。
  2. 异常情况测试用例
    • 输入错误的用户名或密码,验证是否能够返回错误信息,并且错误信息是否符合预期。
    • 故意发送不符合要求的请求(如请求方式错误、请求体格式错误等),验证接口是否能够正确处理并返回错误信息。

批量执行测试用例

Postman提供了Runner功能,允许我们批量执行测试用例。通过Runner,我们可以选择一个或多个Collection来执行,设置迭代次数、延迟时间等参数,并查看执行结果。

  1. 打开Runner:在Postman的侧边栏中,找到需要执行的Collection,右键点击并选择“Run in Postman Runner”或者在Collection界面中点击右上角的运行按钮。

  2. 配置Runner:在Runner界面中,我们可以设置各种参数来控制测试用例的执行。例如:

    Environment:选择一个环境,用于在测试过程中提供变量值。                            Iteration:设置迭代次数,如果设置为1,则每个请求只执行一次;如果设置为N(N>1),则每个请求会执行N次。                                                                                            Delay:  设置请求之间的延迟时间,以毫秒为单位。这有助于模拟真实场景下的请求频率。
  3. 选择请求:在Runner中,你可以选择执行Collection中的所有请求,或者只选择部分请求进行测试。
  4. 查看结果:执行完成后,Runner会展示一个结果页面,其中包含每个请求的响应时间、状态码、请求和响应体等信息。你可以通过这些信息来评估接口的性能和稳定性。

Postman的Collection Runner与Tests集成

Collection Runner不仅是一个简单的批量执行工具,它还与Postman的Tests功能紧密集成,使得你可以在测试过程中验证接口的行为是否符合预期。

  1. 编写Tests脚本:在每个请求中,你都可以编写Tests脚本来定义验证逻辑。这些脚本会在请求发送后执行,并返回测试结果。

  2. 集成到Collection Runner:当你使用Collection Runner执行一个Collection时,Runner会自动执行每个请求中的Tests脚本,并收集测试结果。

  3. 查看测试结果:执行完成后,你可以在Runner的结果页面中查看每个请求的测试结果。如果某个请求的Tests脚本失败,Runner会用醒目的方式标示出来,并提供失败的原因。

通过这种方式,你可以很方便地验证整个Collection中所有接口的行为是否符合预期,而无需手动执行每个请求并检查结果。

Postman的环境和全局变量管理

在接口测试过程中,经常需要处理不同的环境(如开发环境、测试环境、生产环境)和全局配置(如API密钥、基础URL等)。Postman提供了环境和全局变量功能,使得这些配置可以轻松地管理和切换。

  1. 环境管理
    • 创建环境:在Postman的设置中,你可以创建多个环境,并为每个环境定义不同的变量和值。
    • 切换环境:在发送请求之前,你可以选择当前的环境。Postman会在发送请求时,将请求中的变量替换为当前环境中定义的相应值。
    • 导出/导入环境:你可以将环境导出为JSON文件,并在需要时导入到其他Postman实例中。
  2. 全局变量
    • 定义全局变量:在Postman的设置中,你可以定义全局变量,并在所有环境中共享这些变量。
    • 使用全局变量:与环境变量类似,你可以在请求中使用{ {variable_name}}的语法来引用全局变量。

通过合理地使用环境和全局变量,你可以轻松地管理不同环境下的配置,并确保测试的准确性和一致性。

Postman的Pre-request Script和Tests Script

Postman允许你在发送请求之前和之后执行JavaScript代码,这通过Pre-request Script和Tests Script实现。

  1. Pre-request Script
    • 功能:Pre-request Script在发送请求之前执行。你可以在这里编写代码来设置请求变量、动态修改请求参数等。
    • 示例:假设你需要根据当前时间动态生成一个请求参数,你可以在Pre-request Script中编写代码来计算时间,并将结果设置为环境变量或全局变量。
  2. Tests Script
    • 功能:Tests Script在发送请求并收到响应后执行。你可以在这里编写代码来验证响应的状态码、响应体内容等是否符合预期。
    • 示例:你可以编写一个Tests脚本来检查响应的状态码是否为200,以及响应体中是否包含特定的文本或数据。

Pre-request Script和Tests Script为Postman提供了强大的扩展能力,使得你可以在发送请求前后执行复杂的逻辑,并验证接口的行为是否符合预期。

Postman的Mock Server

在开发过程中,前端开发者经常需要依赖后端接口来进行开发。然而,在后端接口尚未实现或不稳定的情况下,这可能会成为一个障碍。Postman的Mock Server功能允许你创建一个模拟的后端接口,以便前端开发者可以在没有真实后端接口的情况下进行开发。

  1. 创建Mock
    • 选择一个Collection作为Mock的源。Postman会根据Collection中的请求和响应来生成Mock Server。
    • 配置Mock Server的URL和版本。你可以为不同的环境创建不同的Mock Server。
  2. 使用Mock
    • 一旦Mock Server创建成功,你就可以在前端代码中使用Mock Server的URL来发送请求。Mock Server会根据请求的路径和参数返回相应的模拟响应。
  3. 管理Mock
    • 你可以在Postman中查看和管理Mock Server的日志和请求历史。这有助于你了解Mock Server的使用情况和性能。

通过使用Mock Server,前端开发者可以更加独立地进行开发,而无需等待后端接口的实现。同时,Mock Server还可以作为后端接口开发过程中的一个参考,帮助后端开发者理解前端的需求和期望。

Postman的Monitor功能

在接口测试完成后,你可能还需要对接口进行持续的监控,以确保其在生产环境中的稳定性和可靠性。Postman的Monitor功能允许你设置定时任务,自动执行集合中的请求,并监控接口的性能和响应情况。

Postman Monitor功能详解

Monitor是Postman提供的一项高级功能,它允许用户设置定期运行的监控任务,以持续跟踪API的性能和可用性。这对于维护生产环境中关键服务的稳定运行至关重要。

1. 创建Monitor

在Postman中,你可以从任何一个Collection出发,创建一个Monitor来监控该Collection中的请求。以下是创建Monitor的基本步骤:

  • 选择Collection:首先,你需要选择一个包含你想要监控的API请求的Collection。
  • 进入Monitor设置:在Collection视图中,找到并点击“Monitor”按钮,这将带你进入Monitor的设置页面。
  • 配置Monitor:在Monitor设置页面中,你可以配置Monitor的名称、频率(如每小时、每天等)、环境(用于提供请求中使用的变量值)、以及是否要在监控失败时发送通知等。
  • 选择请求:你可以选择Collection中的全部请求进行监控,或者只选择部分请求。如果你只想监控Collection中的特定请求,可以在Monitor设置页面的“Requests”部分进行选择。
  • 保存并启动Monitor:完成所有配置后,点击“Save”按钮保存Monitor,并可以选择立即启动它或稍后手动启动。
2. 监控执行

一旦Monitor被启动,它将按照你设定的频率自动执行Collection中的请求。Postman会在云端执行这些请求,并收集相关的性能指标和响应数据。

  • 性能指标:Monitor会收集每个请求的响应时间、状态码、请求和响应大小等性能指标。
  • 响应数据:Monitor还会保存每个请求的响应体数据,以便你后续进行详细的分析和审查。
3. 查看Monitor结果

Monitor执行完成后,你可以在Postman的Monitor视图中查看结果。Monitor视图提供了丰富的信息和图表,帮助你快速了解API的性能和可用性。

  • 结果概览:Monitor视图首先展示了一个概览页面,其中包含了Monitor的最新执行结果、平均响应时间、成功率等关键指标。
  • 详细结果:你可以点击概览页面中的任何请求,查看该请求的详细结果。详细结果页面包含了请求的发送时间、响应时间、状态码、请求和响应体等详细信息。
  • 图表分析:Monitor视图还提供了图表功能,允许你通过图表的形式查看API的性能变化趋势。你可以根据需要选择不同的时间范围和图表类型来进行分析。
4. 通知与警报

Monitor还支持设置通知和警报功能,以便在监控到异常情况时及时通知相关人员。

  • 通知设置:在Monitor设置页面中,你可以配置通知的接收者(如电子邮件地址、Slack频道等)和触发通知的条件(如请求失败、响应时间超过阈值等)。
  • 警报接收:当Monitor监控到满足通知条件的异常情况时,Postman会自动向指定的接收者发送警报通知。这有助于你及时发现并处理潜在的问题。

Postman API与集成

除了上述的GUI功能外,Postman还提供了强大的API和集成能力,允许你与其他工具和服务进行无缝集成。

1. Postman API

Postman API允许你通过编程方式访问和操作Postman的功能和数据。你可以使用Postman API来创建和管理集合、环境、Monitor等资源,以及执行请求和获取响应数据。

  • 认证与授权:在使用Postman API之前,你需要通过OAuth 2.0或API密钥进行认证和授权。
  • API文档:Postman提供了详细的API文档,帮助你了解如何使用API进行各种操作。
  • 示例代码:Postman还提供了示例代码和库,以便你更容易地将API集成到你的项目中。
2. 集成与自动化

Postman支持与多种工具和服务的集成,允许你自动化API测试和监控流程。以下是一些常见的集成和自动化场景:

  • 持续集成/持续部署(CI/CD):你可以将Postman测试集成到CI/CD流程中,在代码提交和部署过程中自动执行API测试。
  • 代码仓库:Postman可以与GitHub、GitLab等代码仓库集成,允许你直接从仓库中导入和导出集合和环境。
  • 团队协作:Postman提供了团队协作功能,允许团队成员共享集合、环境和Monitor等资源,并进行实时协作。
  • 自动化测试:你可以使用Postman的Newman命令行工具来自动化执行集合中的请求,并将测试结果集成到测试报告中。

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

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

相关文章

电路研究9.2——合宙Air780EP使用AT指令

这里正式研究AT指令的学习了,之前只是接触的AT指令,这里则是深入分析AT指令了。 软件的开发方式: AT:MCU 做主控,MCU 发 AT 命令给模组的开发方式,模组仅提供标准的 AT 固件, 所有的业务控制逻辑…

百度APP iOS端磁盘优化实践(上)

01 概览 在APP的开发中,磁盘管理已成为不可忽视的部分。随着功能的复杂化和数据量的快速增长,如何高效管理磁盘空间直接关系到用户体验和APP性能。本文将结合磁盘管理的实践经验,详细介绍iOS沙盒环境下的文件存储规范,探讨业务缓…

Sharding-JDBC 5.4.1+SpringBoot3.4.1+MySQL8.4.1 使用案例

最近在升级 SpringBoot 项目,原版本是 2.7.16,要升级到 3.4.0 ,JDK 版本要从 JDK8 升级 JDK21,原项目中使用了 Sharding-JDBC,版本 4.0.0-RC1,在升级 SpringBoot 版本到 3.4.0 之后,服务启动失败…

【Django】多个APP设置独立的URL

目录 方法一:各个App下设置自己的URL 1、在各自的App当中创建urls.py文件​编辑 2、在主urls当中包含子url 3、各App的urls中设置url 4、设置后台函数 5、最终结果 总结: 方法二:利用as方法,在总的URL中对views重命名 实…

Vue2 项目二次封装Axios

引言 在现代前端开发中,HTTP请求管理是构建健壮应用的核心能力之一。Axios作为目前最流行的HTTP客户端库,其灵活性和可扩展性为开发者提供了强大的基础能力。 1. 为什么要二次封装Axios? 1.1 统一项目管理需求 API路径标准化:…

【算法】经典博弈论问题——巴什博弈 python

目录 前言巴什博弈(Bash Game)小试牛刀PN分析实战检验总结 前言 博弈类问题大致分为: 公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)和 反常游戏 巴什博弈(Bash Game) 一共有n颗石子,两个人轮流拿,每次可以拿1~m颗…

软件开发学习路线——roadmap

推荐软件学习路线网站:https://roadmap.sh/get-started 有有关前端后端开发的学习路径,也有AI,移动开发,管理相关的学习路径 会有相应的词条路径,深入学习 右上角可以设置学习任务的完成情况

Moretl FileSync增量文件采集工具

永久免费: <下载> <使用说明> 我们希望Moretl FileSync是一款通用性很好的文件日志采集工具,解决工厂环境下,通过共享目录采集文件,SMB协议存在的安全性,兼容性的问题. 同时,我们发现工厂设备日志一般为增量,为方便MES,QMS等后端系统直接使用数据,我们推出了增量采…

9、Docker环境安装Nginx

一、拉取镜像 docker pull nginx:1.24.0二、创建映射目录 作用&#xff1a;是将docker中nginx的相关配置信息映射到外面&#xff0c;方便修改配置文件 1、创建目录 # cd home/ # mkdir nginx/ # cd nginx/ # mkdir conf html log2、生成容器 docker run -p 80:80 -d --name…

023:到底什么是感受野?

本文为合集收录&#xff0c;欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请查看这里。 在前面介绍卷积算法时&#xff0c;一直在强调一个内容&#xff0c;那就是卷积算法的运算过程是—— 卷积核在输入图像上滑动扫描的过程。 在每一次扫描时&#xff0c;可以…

BGP(1)邻居建立,路由宣告

拓扑如图&#xff0c;配置地址&#xff0c;配置ospf并宣告相应地址 1、观察bgp邻居的建立 a R1和R3建立bgp邻居 抓包可以看到TCP的三次握手&#xff0c;端口号179 可以看到R1和R3成功建立了IBGP邻居 b 缺省情况下&#xff0c;BGP使用报文出接口作为TCP连接的本地接口&#x…

Python 预训练:打通视觉与大语言模型应用壁垒——Python预训练视觉和大语言模型

大语言模型是一种由包含数百亿甚至更多参数的深度神经网络构建的语言模型&#xff0c;通常使用自监督学习方法通过大量无标签文本进行训练&#xff0c;是深度学习之后的又一大人工智能技术革命。 大语言模型的发展主要经历了基础模型阶段(2018 年到2021年)、能力探索阶段(2019年…

【数据库】详解MySQL数据库中的事务与锁

目录 1.数据库事务 1.1.事务的四大特性 1.2.事务开启的方式 1.3.读一致性问题及其解决 2.MVCC解决读一致性问题原理 2.1.MVCC概念 2.2.准备环境 3.MySQL中的锁 3.1.行锁之共享锁 3.2.行锁之排它锁 1.数据库事务 数据库事务&#xff08;Transaction&#xff09;是一种…

C语言文件操作

本文重点&#xff1a; 什么是文件 文件名 文件类型 文件缓冲区 文件指针 文件的打开和关闭 文件的顺序读写 文件的随机读写 文件结束的判定 什么是文件 磁盘上的文件是文件。 但是在程序设计中&#xff0c;我们一般谈的文件有两种&#xff1a;程序文件、数…

Ubuntu24.04初始化MySQL报错 error while loading shared libraries libaio.so.1

Ubuntu24.04初始化MySQL报错 error while loading shared libraries: libaio.so.1 问题一&#xff1a;libaio1不存在 # 提示libaio1不存在 [rootzabbix-mysql-master.example.com x86_64-linux-gnu]#apt install numactl libaio1 Reading package lists... Done Building depe…

『 实战项目 』Cloud Backup System - 云备份

文章目录 云备份项目服务端功能服务端功能模块划分客户端功能客户端模块划分 项目条件Jsoncpp第三方库Bundle第三方库httplib第三方库Request类Response类Server类Client类搭建简单服务器搭建简单客户端 服务端工具类实现 - 文件实用工具类服务器配置信息模块实现- 系统配置信息…

No.36 学习 | Python 函数:从基础到实战

最近我在学 Python 编程&#xff0c;今天可算是狠狠钻研了一把 Python 里的函数&#xff0c;感觉脑袋里的知识又充实了不少&#xff0c;赶紧来记一记。 一、Python函数基础概念 &#xff08;一&#xff09;pass语句&#xff1a;代码块的“占位符” 在编写代码时&#xff0c;有…

easyexcel读取写入excel easyexceldemo

1.新建springboot项目 2.添加pom依赖 <name>excel</name> <description>excelspringboot例子</description><parent> <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId&…

Qt 5.14.2 学习记录 —— 십유 布局管理器

文章目录 1、QVBoxLayout2、QHBoxLayout3、QGridLayout4、QFormLayout5、QSpacerItem 布局管理器是为了让程序员不需要自己决定控件的绝对位置&#xff0c;而是通过布局管理器方便地放置 1、QVBoxLayout 垂直布局管理器 #include <QPushButton> #include <QVBoxLayo…

Markdown Viewer 浏览器, vscode

使用VS Code插件打造完美的MarkDown编辑器&#xff08;插件安装、插件配置、markdown语法&#xff09;_vscode markdown-CSDN博客 右键 .md 文件&#xff0c;选择打开 方式 &#xff08;安装一些markdown的插件) vscode如何预览markdown文件 | Fromidea GitCode - 全球开发者…