使用 Postman 进行 Trello API 自动化测试的完整指南

news2024/9/20 9:33:12

文章目录

  • 前言
  • 一、自动化测试是什么?
  • 二、比较自动化测试与手工测试
    • 1. 自动化测试
    • 2. 手工测试
  • 三、环境搭建
    • 1.创建Collection
    • 2.创建环境变量
    • 3.添加API请求
  • 四、设计测试用例
    • 1. API简单调用
    • 2. 获取所有emoji
    • 3. 创建一个新看板:
    • 4. 获得创建的看板信息
    • 5. 在看板中创建一个新的列表
    • 6. 获取创建的列表信息
  • 五、环境和变量的使用
  • 六、自动化测试和结果分析
    • 周期运行
    • CLI 运行
    • 使用 Newman 进行自动化测试
  • 总结


前言

在现代软件开发中,自动化测试已成为确保代码质量和稳定性的重要手段。特别是在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进行自动化测试,提升您的测试效率和质量。如果您有任何问题或建议,欢迎在评论区留言讨论🌹

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Git】git 从入门到实战系列(一)—— Git 的诞生,Linus 如何在 14 天内编写出 Git?

<> 博客简介&#xff1a;Linux、rtos系统&#xff0c;arm、stm32等芯片&#xff0c;嵌入式高级工程师、面试官、架构师&#xff0c;日常技术干货、个人总结、职场经验分享   <> 公众号&#xff1a;嵌入式技术部落   <> 系列专栏&#xff1a;C/C、Linux、rt…

【机器学习】决策边界的基本概念以及如何在逻辑回归中找到决策边界

引言 在机器学习中&#xff0c;决策边界是分类算法用来区分不同类别数据点的线、面或超平面。这些边界通常是模型的预测规则&#xff0c;用于将特征空间中的点分配到不同的类别。决策边界可以是线性的&#xff0c;也可以是非线性的&#xff0c;取决于数据的分布和所使用的分类算…

探索开明软件包:应用开发指南轻松掌握,快速上手!

开明软件包格式&#xff0c;是openKylin社区Kaiming SIG为应对传统包格式存在的系统与应用无明确界限、发行版碎片化、兼容性等问题而开发的一款全新软件包格式&#xff0c;满足ISV&#xff08;Independent Software Vendors&#xff09;应用发布和应用独立发布需求&#xff0…

AI绘画:PS+comfyUI 工作流,直接在PS搞AI!

前言 直接在PS搞AI要不要&#xff1f; 大神 Nima Nazari 发布了一个可以无缝链接PS和comfyUI的工作流。 小编对该工作流进行了一个安装使用的测评&#xff0c;该工作流可以无缝与PS进行互联操作&#xff0c;切换模型和修改参数时还是需要在PS和ComfyUI间切换。总体而言&#x…

CSCP、CPIM和CLMP三大证书的区别?如何选择?

在制造型企业、供应链和运营管理专业人士都会不断寻找方法来提升他们的技能和职业前景。三种流行的认证——CSCP&#xff08;Certified Supply Chain Professional&#xff09;、CPIM&#xff08;Certified in Planning and Inventory Management&#xff09;以及CLMP&#xff…

其他:trycatch模块捕获循环错误,避免中断程序

介绍 今天有位同事问我怎么在某次循环报错后仍然可以继续程序运行&#xff0c;最后我们使用了trycatch模块。 代码解读 任务&#xff1a;在循环中&#xff0c;如果某次循环的calc出现错误则跳过这次循环并重新赋值结果 res_list <- list() # 创建一个空列表来存储结果fo…

整箱排柜不返工?用易境通散拼系统就OK

想必困扰散货拼柜小伙伴们一大难题就是&#xff0c;怎么把错乱纷繁的货物有序地整箱排柜&#xff0c;并且要保证集装箱高效利用&#xff0c;运输成本尽量降低。这不仅要求操作者具备卓越的统筹规划能力&#xff0c;更需长期积累的实践经验和敏锐的应变能力。易境通散拼系统可以…

[python] 启发式算法库scikit-opt使用指北

scikit-opt是一个封装了多种启发式算法的Python代码库&#xff0c;可以用于解决优化问题。scikit-opt官方仓库见&#xff1a;scikit-opt&#xff0c;scikit-opt官网文档见&#xff1a;scikit-opt-doc。 scikit-opt安装代码如下&#xff1a; pip install scikit-opt # 调用scik…

永结无间Ⅶ--具有知识图谱的高级 RAG

将知识图谱与先进的检索增强生成 (RAG) 策略相结合&#xff0c;以增强人工智能驱动的信息检索和生成 在增强 RAG 系统方面&#xff0c;知识图谱已成为改变游戏规则的因素。与传统矢量数据库不同&#xff0c;知识图谱提供丰富、互联的信息表示&#xff0c;可显著提高检索内容的…

Docker简介和Docker常见命令

目录 1. Docker 简介 1.1 Docker 的核心概念 1.2 Docker 的优势 1.3 Docker 工作流程 2. 常见命令 2.1 基本命令 2.2 镜像操作 2.3 容器操作 2.4 网络操作 2.5 卷操作 2.6 日志和监控 2.7 清理命令 3. 注意事项和最佳实践 3.1 镜像操作 3.2 容器操作 3.3 网络操…

18730 涂色问题

这个问题可以通过动态规划来解决。我们可以定义一个状态dp[i][j]&#xff0c;表示前i个牛舍中最后一个牛舍的颜色是j的涂色方案数量。然后我们可以通过状态转移方程来更新dp[i][j]。 状态转移方程如下&#xff1a; dp[i][j] dp[i-1][k] (k ! j) 然后我们需要对所有的dp[i][…

数据结构——排序(C语言版)

冒泡排序&#xff1a; 冒泡排序是一种简单直观的排序算法&#xff0c;其基本思想是多次遍历待排序数组&#xff0c;每次遍历时比较相邻的两个元素&#xff0c;如果它们的顺序不符合排序规则&#xff08;比如升序&#xff09;&#xff0c;则交换它们的位置&#xff0c;直到整个数…

Oracle数据库入门

目录 Oracle基础概念数据库安装连接Oracle查看当前用户 数据表的基本概念查看当前系统表Orcale函数单行函数多行函数/组函数/聚合函数 SQL语句DMLinsert批量插入数据创建新表在旧表中插入 delete全表删除 update DDLcreatealterdrop 连接 Oracle基础概念 数据库: 数据的仓库 以…

探索大模型的“心理理论”能力:TMBENCH基准测试

人工智能咨询培训老师叶梓 转载标明出处 心理理论是理解他人信念、意图、情感等心理状态的能力&#xff0c;对人类社会交往至关重要。近期研究引发了关于LLMs是否展现出ToM的辩论。然而&#xff0c;现有的评估方法受限于范围狭窄、主观判断和潜在的数据污染等问题&#xff0c;无…

万能DIY预约小程序源码系统 自由DIY 适合任何行业的在线预约小程序 带源代码包以及搭建部署教程

系统概述 随着移动互联网的发展&#xff0c;小程序作为一种轻量级应用&#xff0c;因其便捷性和易用性而受到广大用户的喜爱。各行各业都在积极探索如何利用小程序提升服务体验。小编给大家分享一款万能DIY预约小程序的源码系统&#xff0c;该系统支持自由定制&#xff0c;适用…

S3GCL Spectral, Swift, Spatial Graph Contrastive Learning

发表于:PMLR24 推荐指数: #paper/⭐⭐⭐ 总结做了什么: 利用gcn对比学习训练mlp来提取特征嵌入,使得训练完毕使用的时候,可以更快的得到嵌入(类似于师生蒸馏的加速).其中,结合了异配图的chebnet2,以及高通低通过滤,和非对称对比学习等 看图解释:作者将全通的MLP训练得到的嵌入…

PostgreSQL入门与进阶学习,体系化的SQL知识,完成终极目标高可用与容灾,性能优化与架构设计,以及安全策略

​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 概述基础篇初级篇进阶篇…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 7月31日,星期三

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年7月31日 星期三 农历六月廿六 1、 海关总署&#xff1a;我国关税总水平目前已经降至7.3%&#xff0c;接近发达国家平均水平。 2、 网络身份证要来了&#xff1a;两部门征求意见&#xff0c;拟为社会公众统一签发网号、网证…

HighConcurrencyCommFramework c++通讯服务器框架 :网路通迅实战

数据总在两端进行&#xff0c;一个客户端&#xff0c;一个服务器端 连接建立起来&#xff0c;数据双向流动&#xff0c;这叫双工&#xff0c;你可以发给我我也可以发给你 既然服务器端是被动的接受的&#xff0c;那么客户端必须得知道服务器的地址 我浏览器要访问的淘宝网&a…

基于Spring boot + Vue的加油站系统

项目名称&#xff1a;加油站系统 作者的B站地址&#xff1a;程序员云翼的个人空间-程序员云翼个人主页-哔哩哔哩视频 csdn地址&#xff1a;程序员云翼-CSDN博客 1.项目技术栈&#xff1a; 前后端分离的项目 后端&#xff1a;Springboot MybatisPlus 前端&#xff1a;Vue…