当前位置: 首页 > news >正文

Postman接口测试工具的原理及应用详解(五)

本系列文章简介:

        在当今软件开发的世界中,接口测试作为保证软件质量的重要一环,其重要性不言而喻。随着前后端分离开发模式的普及,接口测试已成为连接前后端开发的桥梁,确保前后端之间的数据交互准确无误。在这样的背景下,Postman作为一款功能强大、易于使用的接口测试工具,凭借其直观的操作界面和丰富的功能特性,受到了广大开发者和测试人员的青睐。

        Postman不仅仅是一个简单的HTTP请求发送工具,它更是一个完整的API开发环境。通过Postman,用户可以轻松构建和发送各种HTTP请求,包括GET、POST、PUT、DELETE等,同时还可以查看和分析API的响应结果。此外,Postman还支持模拟响应、断言验证、环境变量管理、集合创建与共享等高级功能,极大地提高了接口测试的效率和质量。

        本系列文章旨在深入探讨Postman接口测试工具的原理及应用。首先,我们将从HTTP请求与响应的基础出发,介绍Postman如何发送HTTP请求并接收响应。接着,我们将详细阐述Postman的核心功能,包括请求构建、响应查看、测试脚本编写、环境和变量管理以及集合的创建与共享等。然后,我们将结合具体案例,展示Postman在接口测试中的实际应用,包括测试流程的设计、与其他工具的集成、自动化测试的实现与优化等。最后,我们将分析Postman接口测试的局限性与挑战,并对未来接口测试工具的发展进行展望。

        通过本系列文章的阐述,大家将全面了解Postman接口测试工具的原理和应用,掌握其在接口测试中的使用方法和技巧,提高接口测试的效率和质量。同时,本系列文章也将为开发者和测试人员提供有益的参考和借鉴,推动接口测试技术的发展和应用。

        欢迎大家订阅《Java技术栈高级攻略》专栏(PS:近期会涨价),一起学习,一起涨分!

目录

一、引言

二、Postman在接口测试中的应用实践

2.1 接口测试流程的设计

2.2 Postman与其他工具的集成(如Jenkins、Git等)

2.3 自动化测试的实现与优化

2.4 测试报告的输出与分析

三、案例分析

四、Postman接口测试的局限性与挑战

五、结论与展望

六、结语


一、引言

        Postman是一个功能强大的接口测试工具,主要用于Web API和HTTP请求的调试。Postman是一个客户端工具,能够模拟用户发起的各类HTTP请求(如GET、POST、PUT、DELETE等)。它通过发送请求数据至服务端,并获取对应的响应结果,帮助开发人员验证响应中的数据是否与预期值相匹配。

        本文将跟随《Postman接口测试工具的原理及应用详解(四)》的进度,继续介绍Postman接口测试工具。希望通过本系列文章的学习,您将能够更好地理解Postman接口测试工具的内部工作原理,掌握Postman接口测试工具的使用技巧,以及通过合理的设计完成最佳实践,充分发挥优化Postman接口测试工具的潜力,为系统的高效运行提供有力保障。

二、Postman在接口测试中的应用实践

2.1 接口测试流程的设计

Postman在接口测试中的应用实践主要围绕着接口测试流程的设计和执行。以下是使用Postman进行接口测试时的详细流程设计:

1. 编写接口测试计划

  • 概述:明确接口测试的目标、范围、方法和测试环境。
  • 测试资源:确定测试所需的人员、时间、工具等资源。
  • 测试功能及重点:列出待测试的接口及其主要功能点,明确测试的重点和难点。
  • 测试策略:选择适合的测试策略,如等价类划分、边界值分析、错误推测等。
  • 测试风险:识别并评估测试过程中可能遇到的风险,制定相应的应对措施。
  • 测试标准:明确测试成功的标准,如响应状态码、响应时间、数据准确性等。

2. 编写、评审接口测试用例

  • 根据需求文档、接口文档编写测试用例:确保测试用例覆盖所有重要的功能点和异常场景。
  • 评审测试用例:通过团队评审或专家评审,确保测试用例的有效性和完整性。

3. 使用Postman执行接口测试

  • 创建集合(Collections):在Postman中创建集合,用于组织和管理相关的接口请求。
  • 添加请求(Requests):在集合中添加待测试的接口请求,设置请求的URL、方法、请求头、请求体等参数。
  • 编写测试脚本:在请求的“Tests”选项卡中编写测试脚本,用于验证接口的响应数据是否符合预期。
  • 执行测试:点击“Send”按钮发送请求,并查看测试结果。Postman将自动执行测试脚本并显示测试结果。

4. 自动化测试持续集成

  • 使用Runner进行批量测试:通过Postman的Runner功能,可以批量执行集合中的请求,并生成详细的测试报告。
  • 持续集成:将接口测试用例和测试脚本集成到自动化测试框架中,实现接口测试的自动化执行和监控。
  • 结果展示与问题定位:通过丰富的结果展示和趋势分析功能,及时发现并解决接口测试中的问题。

5. 注意事项

  • 保持测试环境和生产环境的一致性:确保在测试环境中使用的接口与生产环境中的接口一致。
  • 及时更新测试用例和测试脚本:随着接口文档和需求的变化,及时更新测试用例和测试脚本以确保测试的有效性。
  • 与其他测试阶段协作:与功能测试、性能测试等其他测试阶段保持紧密协作,确保接口测试的全面性和准确性。

归纳

Postman在接口测试中的应用实践主要包括编写接口测试计划、编写和评审测试用例、使用Postman执行接口测试、自动化测试持续集成以及注意事项等方面。通过遵循这些步骤和注意事项,可以更加高效地进行接口测试并提高测试质量。

2.2 Postman与其他工具的集成(如Jenkins、Git等)

Postman在接口测试中的应用实践广泛,不仅限于单个工具的使用,还能与其他工具如Jenkins、Git等进行有效集成,形成一套完整的自动化测试流程。以下是关于Postman与这些工具集成的详细实践:

1. Postman与Jenkins的集成

集成目的

  • 实现接口测试的自动化执行。
  • 定时或触发式执行接口测试。
  • 整合测试结果并生成报告。

集成步骤

  1. 安装与配置
    • 安装Jenkins服务器,并配置好环境。
    • 安装Node.js和npm,以支持Newman(Postman的命令行工具)。
    • 安装Newman,并通过npm进行全局安装。
  2. 导出Postman测试集合
    • 在Postman中编写好接口测试用例,并保存为集合。
    • 导出集合为JSON格式的文件,该文件包含了所有的测试用例和配置。
  3. 配置Jenkins任务
    • 在Jenkins中创建一个新的任务,选择“Freestyle project”或适合的任务类型。
    • 在任务配置中,添加构建步骤,选择“Execute shell”或“Execute Windows batch command”。
    • 在命令中输入Newman执行命令,如newman run mycollection.json,其中mycollection.json是导出的Postman集合文件。
  4. 配置测试结果处理
    • Jenkins可以捕获Newman的输出,并展示在构建控制台中。
    • 可以配置Jenkins将测试结果保存为文件,或发送到指定的位置。
  5. 定时或触发执行
    • 可以配置Jenkins任务定时执行,如每天、每周等。
    • 也可以配置触发器,如代码提交到Git仓库时自动触发测试。

2. Postman与Git的集成

集成目的

  • 实现接口测试用例的版本控制。
  • 团队协作,共同维护测试用例。
  • 跟踪测试用例的变更历史。

集成步骤

  1. 创建Git仓库
    • 在Git服务器上创建一个新的仓库,用于存储Postman的集合文件。
  2. 提交集合到Git
    • 将导出的Postman集合文件添加到本地Git仓库。
    • 提交更改,并推送到远程Git仓库。
  3. 团队协作
    • 团队成员可以克隆远程仓库到本地,进行接口测试用例的编写和修改。
    • 修改完成后,提交更改并推送到远程仓库,与其他成员共享。
  4. 版本控制
    • Git提供了强大的版本控制功能,可以跟踪集合文件的变更历史。
    • 可以随时回滚到之前的版本,或比较不同版本之间的差异。
  5. 持续集成
    • 结合Jenkins等持续集成工具,可以实现接口测试的自动化执行和结果报告。
    • 每当Git仓库中有新的提交时,Jenkins可以自动拉取最新的集合文件,并执行测试。

通过Postman与Jenkins、Git等工具的集成,可以大大提高接口测试的效率和准确性,实现自动化测试、团队协作和版本控制等功能。

2.3 自动化测试的实现与优化

Postman在接口测试中的应用实践之自动化测试的实现与优化,可以通过以下几个关键步骤来达成:

1. 自动化测试的实现

1.1 创建集合(Collections)

  • 在Postman中,集合是用于组织和管理API请求的重要工具。首先,需要创建一个或多个集合,用于存放相关的API请求。
  • 在集合中添加待测试的接口请求,并设置相应的URL、方法、请求头、请求体等参数。

1.2 编写测试脚本

  • 在每个请求的“Tests”选项卡中,编写测试脚本以验证接口的响应数据是否符合预期。
  • 可以使用Postman的内置断言库来编写测试脚本,例如检查HTTP状态码、响应时间、响应体中的特定字段等。

1.3 使用Runner进行批量测试

  • Postman的Runner功能允许用户批量执行集合中的请求,并生成详细的测试报告。
  • 用户可以配置Runner的运行环境、迭代次数、延迟等参数,以满足不同的测试需求。

2. 自动化测试的优化

2.1 使用变量和环境

  • 在Postman中,可以使用变量来存储API的URL、端口、认证信息等重复使用的信息,以避免在多个请求中重复输入。
  • 通过设置不同的环境(如开发环境、测试环境、生产环境),可以轻松切换不同的测试环境。

2.2 使用Pre-request Scripts进行请求前的处理

  • Pre-request Scripts允许用户在发送请求之前执行一些操作,如设置全局变量、生成随机数据等。
  • 这可以帮助用户更好地模拟真实场景,提高测试的有效性。

2.3 利用数据文件(Data Files)进行参数化测试

  • Postman支持CSV和JSON格式的数据文件,用户可以将测试数据存储在数据文件中,并在Runner中引用这些数据文件。
  • 通过这种方式,用户可以轻松实现参数化测试,测试不同输入下的接口响应。

2.4 编写可复用的测试脚本

  • 在编写测试脚本时,尽量使用可复用的代码片段和函数,以减少重复工作。
  • 可以将常用的测试逻辑封装成函数或模块,并在多个请求中调用。

2.5 监控和报告

  • Postman的Runner可以生成详细的测试报告,包括每个请求的响应时间、状态码、响应体等信息。
  • 用户可以定期运行自动化测试,并监控测试结果的变化趋势,及时发现潜在问题。

归纳

通过上述步骤,用户可以轻松实现Postman的接口自动化测试,并通过使用变量和环境、Pre-request Scripts、数据文件、可复用的测试脚本以及监控和报告等功能来优化自动化测试过程。这些优化措施不仅可以提高测试效率,还可以确保测试结果的准确性和可靠性。

2.4 测试报告的输出与分析

Postman在接口测试中的应用实践中,测试报告的输出与分析是一个非常重要的环节。以下是关于Postman测试报告输出与分析的详细步骤和注意事项:

1、测试报告的输出

  1. 使用Postman的导出功能
    • 在Postman中,选择你想要导出测试报告的集合或请求。
    • 点击界面上的“导出”(Export)按钮。
    • 选择适当的格式进行导出,常见的格式包括JSON、CSV等。Postman支持直接将结果导出为JSON格式的报告,方便后续的分析和处理。
  2. 使用Newman和newman-reporter-html插件
    • 如果需要更详细的测试报告,可以结合使用Newman和newman-reporter-html插件。
    • 首先,需要安装Node.js和npm,因为Newman是由Node.js开发的。
    • 安装完成后,通过npm全局安装Newman和newman-reporter-html插件。
    • 使用Newman命令行工具运行Postman集合,并通过指定参数来生成HTML格式的测试报告。例如,使用-r html参数来指定报告类型为HTML,使用--reporter-html-export参数来指定报告的输出路径和文件名。
  3. 保存和分享报告
    • 生成的测试报告可以保存到本地文件系统中,也可以分享给团队成员或其他利益相关者。
    • 通过报告,可以直观地了解接口的测试结果,包括请求的详细信息、响应的状态码、响应时间和响应体等。

2、测试报告的分析

  1. 查看请求和响应详情
    • 在测试报告中,可以查看每个请求的详细信息,包括请求的URL、请求方法、请求头和请求体等。
    • 同时,也可以查看响应的详细信息,包括响应状态码、响应时间和响应体等。这些信息有助于分析接口的性能和功能是否正常。
  2. 分析断言结果
    • 在Postman中,可以为请求添加断言来验证接口的功能和性能。在测试报告中,可以查看每个断言的结果。
    • 如果断言失败,说明接口的功能或性能存在问题,需要进一步排查和解决。
  3. 统计和分析测试结果
    • 通过测试报告,可以统计和分析接口的测试结果,包括请求的成功率、失败率、平均响应时间等。
    • 这些统计信息有助于评估接口的质量和性能,为后续的接口优化提供依据。
  4. 与团队成员共享和分析
    • 将测试报告分享给团队成员,共同分析和讨论接口的测试结果。
    • 通过团队协作,可以更快地定位和解决接口存在的问题,提高接口的质量和稳定性。

注意事项

  1. 确保测试环境的准确性:在生成测试报告之前,需要确保测试环境的准确性和稳定性。只有在正确的测试环境下进行测试,才能得出准确的测试结果。
  2. 定期更新测试报告:随着接口的不断迭代和更新,需要定期更新测试报告以确保测试结果的准确性和有效性。
  3. 结合其他工具进行分析:除了Postman本身的功能外,还可以结合其他工具如Jenkins、Git等进行测试报告的生成和分析,以提高测试效率和准确性。

三、案例分析

        详见《Postman接口测试工具的原理及应用详解(六)

四、Postman接口测试的局限性与挑战

        详见《Postman接口测试工具的原理及应用详解(六)

五、结论与展望

        详见《Postman接口测试工具的原理及应用详解(六)

六、结语

        文章至此,已接近尾声!希望此文能够对大家有所启发和帮助。同时,感谢大家的耐心阅读和对本文档的信任。在未来的技术学习和工作中,期待与各位大佬共同进步,共同探索新的技术前沿。最后,再次感谢各位的支持和关注。您的支持是作者创作的最大动力,如果您觉得这篇文章对您有所帮助,请分享给身边的朋友和同事!

相关文章:

Postman接口测试工具的原理及应用详解(五)

本系列文章简介: 在当今软件开发的世界中,接口测试作为保证软件质量的重要一环,其重要性不言而喻。随着前后端分离开发模式的普及,接口测试已成为连接前后端开发的桥梁,确保前后端之间的数据交互准确无误。在这样的背景…...

208.贪心算法:买卖股票的最佳时机||(力扣)

代码解决 class Solution { public:int maxProfit(vector<int>& prices) {int result 0; // 初始化结果为0&#xff0c;表示初始利润为0// 从第二天开始遍历价格数组for (int i 1; i < prices.size(); i) {// 如果当天价格比前一天价格高&#xff0c;则将差价加…...

【论文阅读】伸缩密度比估计:Telescoping Density-Ratio Estimation

文章目录 一、文章概览&#xff08;一&#xff09;问题提出&#xff08;二&#xff09;文章工作 二、判别比估计和密度鸿沟问题三、伸缩密度比估计&#xff08;一&#xff09;核心思想&#xff08;二&#xff09;路标创建&#xff08;三&#xff09;桥梁构建&#xff08;四&…...

MongoDB数据库 MQL (MongoDB Query Language)语句大全

基本命令 连接到 MongoDB mongo显示所有数据库 show dbs选择&#xff08;或创建&#xff09;数据库 db集合操作 显示当前数据库中的所有集合 show collections创建集合 db.createCollection("myCollection")删除集合 db.myCollection.drop()文档操作 插入文…...

Java代码基础算法练习-计算平均身高-2024.07.02

任务描述&#xff1a; n个同学站成一排&#xff0c;求它们的平均身高 解决思路&#xff1a; 输入的学生人数为 for 循环次数&#xff0c;循环中每输入一个值就添加在总数中&#xff0c;循环结束总数除以对应的学生人数得到平均身高 代码示例&#xff1a; package a4_2024_07;…...

BIOS设置与系统分区

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 目录 一BIOS 1破解密码的前提 2B…...

linux的安装程序 与 文件 相关的命令

软件安装卸载命令 软件包介绍软件包命名格式dpkg命令apt-get命令apt-get命令 压缩和解压命令 压缩文件后缀 压缩命令打包和解包命令 tar命令 文件分割命令 split命令 文件操作相关命令 cat命令head命令tail命令more命令less命令管道命令wc 命令grep 命令find 命令cut 命令sort …...

SAP_ABAP相关日语单词

基本概念 1. プログラミング言語 (プログラミングげんご, Puroguramingu gengo) - 编程语言 2. 開発 (かいはつ, Kaihatsu) - 开发 3. システム (システム, Shisutemu) - 系统 4. モジュール (モジュール, Mojūru) - 模块 5. トランザクションコード (トランザクションコード,…...

Python中的除法操作详解

在Python编程中&#xff0c;除法是一个基础但极其重要的算术操作。Python提供了多种除法运算方式&#xff0c;以适应不同的计算需求。以下是对Python中除法操作的全面介绍&#xff0c;包括示例代码。 1. 普通除法 / 普通除法使用/运算符&#xff0c;它返回一个浮点数结果&…...

第1章 人工智能的基础概念与应用导论

亲爱的读者朋友们&#xff0c;你们好&#xff01;欢迎来到这个充满神奇与奥秘的人工智能世界。我知道&#xff0c;对于很多人来说&#xff0c;人工智能&#xff08;AI&#xff09;可能是个既神秘又高大上的词汇&#xff0c;仿佛遥不可及&#xff0c;只存在于科幻电影或者顶级科…...

jenkins api部署时,一直提示pending-Finished waiting

问题&#xff1a; 调用jenkins api部署时&#xff0c;一直提示pending-Finished waiting 解决方案&#xff1a; 这个问题困扰了很久&#xff0c;一直没有思路&#xff0c;后面看到调用jenkinsAPI本身会出现一段提示&#xff0c;pending in the quiet period&#xff0c;通过搜…...

AI在创造还是毁掉音乐之论文

AI在创造还是毁掉音乐&#xff1f; 简介&#xff1a;最近一个月&#xff0c;轮番上线的音乐大模型&#xff0c;一举将素人生产音乐的门槛降到了最低&#xff0c;并掀起了音乐圈会不会被AI彻底颠覆的讨论。短暂的兴奋后&#xff0c;AI产品的版权归属于谁&#xff0c;创意产业要…...

C++ STL容器:序列式容器-数组string,vector,array,bitset

摘要&#xff1a; CC STL&#xff08;Standard Template Library&#xff0c;标准模板库&#xff09;在C编程中的重要性不容忽视&#xff0c;STL提供了一系列容器、迭代器、算法和函数对象&#xff0c;这些组件极大地提高了C程序的开发效率和代码质量。 STL 容器 分为 2 大类 …...

ElementUI样式优化:el-input修改样式、el-table 修改表头样式、斑马格样式、修改滚动条样式、

效果图&#xff1a; 1、改变日期时间组件的字体颜色背景 .form-class ::v-deep .el-date-editor { border: 1px solid #326AFF; background: #04308D !important; } .form-class ::v-deep .el-date-editor.el-input__wrapper { box-shadow: 0 0 0 0px #326AFF inset; } // 输入…...

大数据面试题之Spark(6)

Spark输出文件的个数&#xff0c;如何合并小文件? Spark的driver是怎么驱动作业流程的? Spark SQL的劣势? 介绍下Spark Streaming和Structed Streaming Spark为什么比Hadoop速度快? DAG划分Spark源码实现? Spark Streaming的双流join的过程&#xff0c;怎么做的? …...

SpringSecurity中文文档(Servlet Anonymous Authentication)

Anonymous Authentication Overview 通常认为采用“默认拒绝”立场是良好的安全实践&#xff0c;您明确指定允许的内容并拒绝其他所有内容。定义未经身份验证的用户可以访问的内容是类似的情况&#xff0c;特别是对于 Web 应用程序。许多网站要求用户必须经过身份验证才能访问…...

【Spring Boot 事务管理】

Spring Boot 事务管理 一、Spring Boot中的事务管理1.声明式事务管理Transactional注解基本使用配置选项 2.编程式事务管理TransactionTemplatePlatformTransactionManager 二、Transactional注解深入1.基本使用基本属性 2.传播行为3.隔离级别4.事务超时设置5.回滚规则 三、事务…...

【C++】C++指针在线程中调用与受保护内存空间读取方法

引言 在C的多线程编程中&#xff0c;正确地管理内存和同步访问是确保程序稳定性和安全性的关键。特别是当涉及到指针在线程中的调用时&#xff0c;对受保护内存空间的访问必须谨慎处理&#xff0c;以防止数据竞争、死锁和内存损坏等问题。本文将详细探讨C指针在线程中调用时如何…...

安全隔离上网的有效途径:沙箱

在数字化浪潮日益汹涌的今天&#xff0c;网络安全成为了不可忽视的重要议题。沙箱技术作为一种高效的隔离机制&#xff0c;为企业和个人提供了一种在享受网络便利的同时&#xff0c;保障系统安全的解决方案。本文旨在深入探讨沙箱技术如何做到隔离上网&#xff0c;从而为用户提…...

jenkins下后台运行链接Jenkins服务脚本方法

为了编写一个用于在后台运行 Jenkins agent 的批处理脚本&#xff0c;你可以使用 start 命令来启动 Java 进程并将其设置为在后台运行。以下是一个示例批处理脚本 run_agent.bat&#xff1a; bat echo off setlocalREM Set the path to the Jenkins agent JAR file set AGENT…...

宠物空气净化器哪个品牌性价比高?宠物空气净器Top3品牌推荐

养猫确实给家庭带来了无尽的欢乐&#xff0c;但猫毛无处不在的问题确实让不少猫主人感到头疼。不论是长毛猫还是短毛猫&#xff0c;它们掉落的浮毛飘浮在空气中&#xff0c;不仅影响家居环境的整洁度&#xff0c;还可能成为过敏的源头。因此&#xff0c;如何高效地处理这些猫浮…...

苏州大厂面试题JAVA 面试集

基础知识1、强引用、软引用、弱引用、幻象引用有什么区别?(java基础) 答案参考:https://time.geekbang.org/column/article/6970 2、 对比Hashtable、HashMap、TreeMap有什么不同?(数据结构) 答案参考:https://time.geekbang.org/column/article/8053 3、一个线程调用两次…...

数据库取出来的日期格式是数组格式,序列化日期格式

序列化前&#xff0c;如图所示&#xff1a; 解决方式&#xff0c;序列化日期&#xff08;localdatetime&#xff09;格式 步骤一、添加序列化类 package com.abliner.test.common.configure;import com.alibaba.fastjson.serializer.JSONSerializer; import com.alibaba.fas…...

【Android】创建一个可以在屏幕上拖动的悬浮窗

项目需求 在界面上创建一个悬浮窗&#xff0c;可以自由的移动这个悬浮窗 需求解决 1.添加权限 <uses-permission android:name"android.permission.SYSTEM_ALERT_WINDOW"/>2.请求权限 从 Android 6.0 (API 23) 开始&#xff0c;应用需要动态请求显示悬浮窗…...

SPI NAND、SD NAND和eMMC对比—MK米客方德

目录 1. 容量: 2.封装类型&#xff1a; 3.速度: 4.性能: 5.寿命: 6. 使用方式: 7. 其他优缺点: 8.常见应用场景: 1. 容量: SPI NAND通常提供从几百MB到几GB的存储容量。 SD NAND的容量覆盖范围比SPI NAND更广&#xff0c;从几GB到几十GB不等。 eMMC的容量范围更大&a…...

“深入解析:YUM仓库、RPM包与源码编译——Linux软件安装方式全面对比“

目录 YUM 仓库安装 概念&#xff1a; 优点&#xff1a; 缺点&#xff1a; RPM 包安装 概念&#xff1a; 优点&#xff1a; 缺点&#xff1a; 源码编译安装 概念&#xff1a; 优点&#xff1a; 缺点&#xff1a; 三者区别 YUM 仓库安装 概念&#xff1a; YUM&…...

中电金信:银行业私有云何去何从

2009年&#xff0c;云计算开始从概念走向实践。在这一年&#xff0c;Gartner在预测2010十大发展趋势中&#xff0c;将云计算列在榜首。在这之后&#xff0c;谷歌、亚马逊、IBM等科技巨头纷纷加码对云计算的研发投入。2010年正式迎来云计算时代&#xff0c;这一年也被定为“云元…...

Adobe Acrobat Pro或者Adobe Acrobat Reader取消多标签页显示,设置打开一个pdf文件对应一个窗口。

Windows系统&#xff1a;Adobe Acrobat Pro或者Adobe Acrobat Reader首选项-一般-取消在同一窗口的新标签中打开文档&#xff08;需要重启&#xff09;的对勾&#xff0c;点击确定&#xff0c;彻底关闭后重启&#xff0c;这样打开的每一个PDF文件对应的是一个窗口&#xff0c;并…...

从0开始学习pyspark--pyspark的数据读取[第4节]

在PySpark中&#xff0c;读取文件型数据是一个常见的操作&#xff0c;Spark支持多种数据格式&#xff0c;如CSV、JSON、Parquet、Avro等。以下是一些常用的方法来读取不同格式的文件数据。 读取文本型数据 读取CSV文件: 使用spark.read.csv方法读取CSV文件&#xff0c;可以通…...

极速升级:MacOS系统中Pip源的切换指南

极速升级&#xff1a;MacOS系统中Pip源的切换指南 在MacOS系统中&#xff0c;Python的包管理工具Pip是我们管理和安装Python库的得力助手。然而&#xff0c;默认的Pip源在国外&#xff0c;对于国内用户来说&#xff0c;访问速度可能较慢。因此&#xff0c;更换Pip源以提高下载…...