Postman Flows实现自动化重复执行任务

文摘   2024-08-03 07:15   四川  

重复性是自动化的核心,Postman Flow支持重复性的任务执行。例如垃圾邮件删除,我们经常需要从多个系统中删除电子邮件。登录、搜索并从多个位置删除电子邮件可能非常耗时。本文介绍如何创建一个Flow,每次运行该Flow时,它都会删除一封电子邮件。

同样,我们将使用Stripe.com、Brevo.com以及一个作为假设的内部系统的Postman mock服务器。

前置准备

  • 一个拥有  test@email.com电子邮件地址的 Stripe 账户用户。

  • 一个与  test@email.com电子邮件地址相关的 Brevo 账户。

  • Stripe API 加密密钥。

  • Brevo API 密钥。

Fork集合

从“DevOps Flows”工作空间克隆这些集合到你的工作空间中:

  • Stripe API

  • Brevo

  • Customer-list

将此环境复制到你本地的工作空间中:

  • gdpr-delete-email

在GDPR-delete-email环境中,将 <your-brevo-api-key>替换为你的Brevo API密钥。将 <your-stripe-secret-key>替换为你的Stripe秘密密钥。

创建流程

  1. 从Stripe中删除联系人

    • 创建一个新的流程。添加一个“字符串”块,并输入 " test@email.com"。

连接一个“创建变量”块,并输入 " Customer Email".

将三个“Send Request”块连接到“Start”块上,并垂直排列。
    • 在顶部的“发送请求”块中,选择“Stripe API > 客户 > 搜索客户”。
    • 选择“gdpr-delete-email”环境。
对于 email变量,添加一个“获取变量”块并选择“客户邮箱”。
在“发送请求”块旁边创建一个“IF”块。在“IF”块中添加一个“选择”块,并将 value1 更改为 contacts
    • 将“发送请求”块的“Success”输出连接到“IF”块的 contacts 和数据输入端口。在 contacts 旁边,选择 body.data 。在FQL窗口中,输入 $count(contacts) > 0
    • 将If块的FALSE输出连接到Output块上。
    • 将输出块重命名为 Contact not found,然后从下拉列表中选择“布尔”选项。
    • 将If块的TRUE输出连接到Send Request块上。选择Stripe API > Customers > Delete a customer。
    • 将If块的TRUE输出连接到Send Request块的customer_id输入,并选择 body.data.0.id
    • 将“Send Request”块的“Success”输出连接到一个“Output”块上。
将输出块重命名为 Contact deleted,然后从下拉列表中选择“布尔”选项。
  1. 从Brevo中删除联系人。
    • 在中间的“发送请求”块中,选择“Brevo > Contact management > Contacts > Get a contact’s details”。
    • 选择“gdpr-delete-email”环境。
    • 对于 email 变量,添加一个“Get Variable”块并选择“Customer Email”。
将该块的“Success”输出连接到另一个“Send Request”块上,并选择“Brevo > Contact management > Contacts > Delete a contact”。还将中间的“Send Request”块的“Success”输出连接到新的“Send Request”块的“contact_id”输入上,并选择“ body.id ”。
    将“Delete a contact block的Success输出”连接到“Output”块。将输出块重命名为 Contact deleted,然后从下拉列表中选择“布尔”选项。
将一个“Output”块连接到“Get a contact's details Send Request”块的“Failure”输出端口上。将输出块重命名为 Contact not found,然后从下拉列表中选择“布尔”选项。

  1. 从内部系统中删除联系人
    • 在最下面的“发送请求”块中,选择“customer-list > customer/email”。
    • 对于电子邮件变量,添加一个“获取变量”块并选择“客户电子邮件”。
    • 将“Success”输出连接到“Send Request”块上,并选择“customer-list > customer/id”。
    • 将“customer/emailSend Request”块的“Success”输出连接到“id”输入,并选择“ body.id ”。
    • 将“customer/emailSend Request”块的“Success”输出连接到一个“输出”块上。将输出块重命名为 Contact deleted ,然后从下拉列表中选择“Boolean”选项。
将“customer/emailSend Request”块的“Failure”输出连接到一个“Output”块上。将输出块重命名为 Contact not found ,然后从下拉列表中选择“布尔”选项。

运行流程

选择“Run”。流程会找到并删除在Brevo、Stripe和内部系统中具有 test@email.com 电子邮件地址的联系人。当联系人被删除时, Contact deleted 输出块会显示“True”。如果没有具有该电子邮件地址的联系人, Contact not found 输出块会显示“False”。
往期系列文章
阿里微服务质量保障系列:异步通信模式以及测试分析
阿里微服务质量保障系列:微服务知多少
阿里微服务质量保障系列:研发流程知多少
阿里微服务质量保障系列:研发环境知多少
阿里微服务质量保障系列:阿里变更三板斧
阿里微服务质量保障系列:故障演练
阿里微服务质量保障系列:研发模式&发布策略
阿里微服务质量保障系列:性能监控
阿里微服务质量保障系列:性能监控最佳实践
阿里微服务质量保障系列:基于全链路的测试分析实践

阿里微服务质量保障系列 服务虚拟化技术

- END -

下方扫码关注 软件质量保障,与质量君一起学习成长、共同进步,做一个职场最贵Tester!

往期推荐

聊聊工作中的自我管理和向上管理

经验分享|测试工程师转型测试开发历程

聊聊UI自动化的PageObject设计模式

细读《阿里测试之道》

我在阿里做测开


软件质量保障
所寫即所思|一个阿里质量人对测试技术的思考。
 最新文章