前言

在现代软件开发中,自动化测试已成为确保代码质量和稳定性的重要手段。特别是在API测试中,自动化测试可以快速验证API的正确性和可靠性。Postman 是一个强大的API测试工具,因其简单易用且功能强大而广受欢迎。本文将详细介绍如何使用 Postman 对 Trello API 进行自动化测试,从环境搭建到自动化测试执行和结果分析,帮助您更好地理解和应用这一工具

在这里插入图片描述


一、自动化测试是什么?

自动化测试是一种使用软件工具和脚本自动执行测试用例的方法,而不是手动执行。其主要目的是提高测试效率、减少人为错误、加快测试速度,以及在软件开发过程中及早发现问题。自动化测试通常用于回归测试、性能测试和负载测试等领域。

以下是自动化测试的一些关键概念:

  1. 测试脚本:自动化测试使用脚本来执行测试步骤和验证预期结果。这些脚本可以重复使用,节省时间和精力。

  2. 测试工具:有多种自动化测试工具可以帮助创建、管理和执行测试脚本,例如Selenium、Jest、Cypress等。

  3. 持续集成/持续交付 (CI/CD):自动化测试通常集成在CI/CD管道中,以便在代码每次更改后自动运行测试,确保代码的稳定性和质量。

  4. 测试覆盖率:自动化测试可以帮助提高代码的测试覆盖率,确保更多的代码路径得到测试。

  5. 优缺点:自动化测试可以大大提高效率,但编写和维护自动化测试脚本需要一定的时间和资源投入。

自动化测试是现代软件开发中不可或缺的一部分,有助于提高软件的质量和可靠性。


二、比较自动化测试与手工测试

1. 自动化测试

优点:

  1. 效率高:自动化测试可以快速执行大量测试用例,特别是在回归测试中表现出色。
  2. 可重复性强:测试脚本可以多次重复执行,确保结果一致。
  3. 覆盖面广:自动化测试可以更容易地覆盖更多的测试场景和数据组合。
  4. 持续集成支持:自动化测试可以集成到CI/CD管道中,实现自动化的测试和部署。
  5. 减少人为错误:避免手工操作中的疏忽或错误。

缺点:

  1. 初始成本高:编写和维护自动化测试脚本需要大量时间和资源,尤其是对于复杂的应用程序。
  2. 灵活性低:自动化测试脚本对于UI变化敏感,需要频繁维护。
    3 难以处理复杂的用户交互:对于需要复杂用户交互的测试场景,自动化测试可能难以实现或不可靠。
  3. 技术依赖:需要具备相关工具和编程语言的技能。

2. 手工测试

优点:

  1. 灵活性强:测试人员可以根据测试过程中的发现即时调整测试方案,适应各种变化。
  2. 适用性广:适用于探索性测试、用户体验测试以及需要人类判断的场景。
  3. 初始成本低:不需要编写脚本,只需具备基本的测试技能和理解能力。

缺点:

  1. 效率低:手工测试耗时长,特别是对于大量测试用例的执行。
  2. 可重复性差:手工测试的结果可能因不同的测试人员和执行时间而不同,难以保证一致性。
  3. 覆盖面有限:手工测试难以全面覆盖所有的测试场景和数据组合。
  4. 易出错:测试人员可能因疲劳或其他因素漏掉一些测试步骤或用例。

总结
自动化测试和手工测试各有优缺点,适用于不同的场景。在实际项目中,通常会结合两者使用:对于稳定、重复性高的测试用例,使用自动化测试;对于探索性测试或需要人类判断的场景,使用手工测试。这样可以最大化测试效率和测试覆盖率。


三、环境搭建

首先,我们需要在 Postman 中创建一个新的 Collection,并设置相关的环境变量,以便管理和组织API请求。

1.创建Collection

  • 打开 Postman,点击左侧栏中的 “Collections”。
  • 点击 “New Collection”,命名为 “Trello”。
    在这里插入图片描述

2.创建环境变量

  • 点击Trello这个collection,选择 “Variables”。
  • 点击 “Add” 创建一个新的环境,命名为 “Trello”。
  • 添加以下变量:
    Trello:Trello API 的基础URL,如 https://api.trello.com
    hjykey:您的 Trello API Key
    hjytoken:您的 Trello API Token
    在这里插入图片描述

3.添加API请求

  • 在 “Trello” Collection 中,依次添加以下六个API请求。
    在这里插入图片描述

四、设计测试用例

我们将使用 Trello 的公开API🚪来创建和测试一些基本操作。

在这里插入图片描述

1. API简单调用

  • 请求类型: GET
  • 请求URL: {{Trello}}/1/members/me/boards?key={{hjykey}}&token={{hjytoken}}
  • 测试脚本:
    在这里插入图片描述

2. 获取所有emoji

  • 请求类型: GET
  • 请求URL: {{Trello}}/1/emoji
  • 测试脚本:
    在这里插入图片描述

3. 创建一个新看板:

  • 请求类型: POST
  • 请求URL: {{Trello}}/1/boards/?name=postman测试看板&key={{hjykey}}&token={{hjytoken}}
  • 测试脚本:
    在这里插入图片描述

4. 获得创建的看板信息

  • 请求类型: GET
  • 请求URL: {{Trello}}/1/boards/{{boardId}}?key={{hjykey}}&token={{hjytoken}}
  • 测试脚本:
    在这里插入图片描述

5. 在看板中创建一个新的列表

  • 请求类型: POST
  • 请求URL: {{Trello}}/1/lists?name=待办列表&idBoard={{boardId}}&key={{hjykey}}&token={{hjytoken}}
  • 测试脚本:
    在这里插入图片描述

6. 获取创建的列表信息

  • 请求类型: GET
  • 请求URL: {{Trello}}/1/lists/{{listId}}?key={{hjykey}}&token={{hjytoken}}
  • 测试脚本:
    在这里插入图片描述

五、环境和变量的使用

在本测试中,我们使用了 Collection 变量和环境变量来存储和引用不同的 API 参数。这种方法不仅可以提高测试的可维护性,还能方便地在不同环境之间切换。

  • 存储变量:在创建看板和列表时,我们使用 pm.collectionVariables.set("boardId", jsonData.id); 等语句将生成的 boardIdlistId 存储到 Collection 变量中,以便在后续的测试中使用。

  • 使用变量:在后续的请求中,我们可以使用 {{boardId}}{{listId}} 变量来引用之前存储的值,确保数据的一致性和动态性。

六、自动化测试和结果分析

Postman 提供了多种自动化测试的方法,包括周期运行、CLI运行和使用Newman进行自动化测试。

周期运行

Postman 的集合运行器提供了周期性运行的功能。您可以右键点击集合,选择 “Run collection”,然后选择 “Schedule runs” 进行设置。可以为计划命名并设置运行周期,即使没有打开 Postman 应用,也能自动运行测试。其中可以设置计划名称与运行的周期次数,设置好了周期性运行可以等待到了下一个周期,也可以点击‘run now’立即执行。
在这里插入图片描述

CLI 运行

Postman 提供了 CLI 工具,可以通过命令行运行测试集合。右键点击集合,再点击Run collection,再选择Automate runs via CLI,使用CLI之前要先到官网下载,输入以下命令下载:

powershell.exe -NoProfile -InputFormat None -ExecutionPolicy AllSigned -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://dl-cli.pstmn.io/install/win64.ps1'))"

下载好了postman CLI之后,点击add APIKey,输入一个名字,选择插入,再复制内容到控制台运行即可
在这里插入图片描述
在这里插入图片描述

使用 Newman 进行自动化测试

Newman🚪 是 Postman 的 CLI 运行器,可以通过以下步骤使用:

  1. 安装 Newman:
npm install newman-reporter-htmlextra newman -g
  1. 导出 Collection:在 Postman 中,右键点击 Collection,选择 “Export” 并保存为 JSON 文件。
  2. 运行 Collection:打开命令行,输入:
# collection.json为你自己导出的json文件名字
newman run collection.json -r htmlextra --reporter-html-export htmlReport.html

Newman 将执行测试并生成一份 HTML 格式的报告
在这里插入图片描述


总结

Postman 是一个强大的API测试工具,通过其丰富的功能,可以有效地进行自动化测试。无论是简单的功能验证,还是复杂的集成测试,Postman 都能提供支持。希望这篇博客能帮助您了解并开始使用Postman进行自动化测试,提升您的测试效率和质量。如果您有任何问题或建议,欢迎在评论区留言讨论🌹

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐