文章目录
- 前言
- 一、自动化测试是什么?
- 二、比较自动化测试与手工测试
- 1. 自动化测试
- 2. 手工测试
- 三、环境搭建
- 1.创建Collection
- 2.创建环境变量
- 3.添加API请求
- 四、设计测试用例
- 1. API简单调用
- 2. 获取所有emoji
- 3. 创建一个新看板:
- 4. 获得创建的看板信息
- 5. 在看板中创建一个新的列表
- 6. 获取创建的列表信息
- 五、环境和变量的使用
- 六、自动化测试和结果分析
- 周期运行
- CLI 运行
- 使用 Newman 进行自动化测试
- 总结
前言
在现代软件开发中,自动化测试已成为确保代码质量和稳定性的重要手段。特别是在API测试中,自动化测试可以快速验证API的正确性和可靠性。Postman 是一个强大的API测试工具,因其简单易用且功能强大而广受欢迎。本文将详细介绍如何使用 Postman 对 Trello API 进行自动化测试,从环境搭建到自动化测试执行和结果分析,帮助您更好地理解和应用这一工具
一、自动化测试是什么?
自动化测试是一种使用软件工具和脚本自动执行测试用例的方法,而不是手动执行。其主要目的是提高测试效率、减少人为错误、加快测试速度,以及在软件开发过程中及早发现问题。自动化测试通常用于回归测试、性能测试和负载测试等领域。
以下是自动化测试的一些关键概念:
-
测试脚本:自动化测试使用脚本来执行测试步骤和验证预期结果。这些脚本可以重复使用,节省时间和精力。
-
测试工具:有多种自动化测试工具可以帮助创建、管理和执行测试脚本,例如Selenium、Jest、Cypress等。
-
持续集成/持续交付 (CI/CD):自动化测试通常集成在CI/CD管道中,以便在代码每次更改后自动运行测试,确保代码的稳定性和质量。
-
测试覆盖率:自动化测试可以帮助提高代码的测试覆盖率,确保更多的代码路径得到测试。
-
优缺点:自动化测试可以大大提高效率,但编写和维护自动化测试脚本需要一定的时间和资源投入。
自动化测试是现代软件开发中不可或缺的一部分,有助于提高软件的质量和可靠性。
二、比较自动化测试与手工测试
1. 自动化测试
优点:
- 效率高:自动化测试可以快速执行大量测试用例,特别是在回归测试中表现出色。
- 可重复性强:测试脚本可以多次重复执行,确保结果一致。
- 覆盖面广:自动化测试可以更容易地覆盖更多的测试场景和数据组合。
- 持续集成支持:自动化测试可以集成到CI/CD管道中,实现自动化的测试和部署。
- 减少人为错误:避免手工操作中的疏忽或错误。
缺点:
- 初始成本高:编写和维护自动化测试脚本需要大量时间和资源,尤其是对于复杂的应用程序。
- 灵活性低:自动化测试脚本对于UI变化敏感,需要频繁维护。
3 难以处理复杂的用户交互:对于需要复杂用户交互的测试场景,自动化测试可能难以实现或不可靠。 - 技术依赖:需要具备相关工具和编程语言的技能。
2. 手工测试
优点:
- 灵活性强:测试人员可以根据测试过程中的发现即时调整测试方案,适应各种变化。
- 适用性广:适用于探索性测试、用户体验测试以及需要人类判断的场景。
- 初始成本低:不需要编写脚本,只需具备基本的测试技能和理解能力。
缺点:
- 效率低:手工测试耗时长,特别是对于大量测试用例的执行。
- 可重复性差:手工测试的结果可能因不同的测试人员和执行时间而不同,难以保证一致性。
- 覆盖面有限:手工测试难以全面覆盖所有的测试场景和数据组合。
- 易出错:测试人员可能因疲劳或其他因素漏掉一些测试步骤或用例。
总结
自动化测试和手工测试各有优缺点,适用于不同的场景。在实际项目中,通常会结合两者使用:对于稳定、重复性高的测试用例,使用自动化测试;对于探索性测试或需要人类判断的场景,使用手工测试。这样可以最大化测试效率和测试覆盖率。
三、环境搭建
首先,我们需要在 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);
等语句将生成的boardId
和listId
存储到 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 运行器,可以通过以下步骤使用:
- 安装 Newman:
npm install newman-reporter-htmlextra newman -g
- 导出 Collection:在 Postman 中,右键点击 Collection,选择 “Export” 并保存为 JSON 文件。
- 运行 Collection:打开命令行,输入:
# collection.json为你自己导出的json文件名字
newman run collection.json -r htmlextra --reporter-html-export htmlReport.html
Newman 将执行测试并生成一份 HTML 格式的报告
总结
Postman 是一个强大的API测试工具,通过其丰富的功能,可以有效地进行自动化测试。无论是简单的功能验证,还是复杂的集成测试,Postman 都能提供支持。希望这篇博客能帮助您了解并开始使用Postman进行自动化测试,提升您的测试效率和质量。如果您有任何问题或建议,欢迎在评论区留言讨论🌹