在接口自动化中,多接口组成的场景非常常见,接口间的输入输出有依赖关系,这就涉及到接口间的参数传递。
测试同学通常会将多个API集成在一起,以利用各自的功能组成一个特定的业务测试场景。例如,从像Stripe这样的支付服务提供商获取用户资料,然后将这些资料作为联系人添加到像Brevo这样的营销平台上。本文教大家如何实现这一操作。
维基百科:
Brevo(原名 Sendinblue)是一种关系营销 SaaS 解决方案。该公司由 Armand Thiberge 于 2012 年创立,提供基于云的营销通信软件套件,包括电子邮件营销、交易电子邮件、营销自动化、客户关系管理、登录页面、Facebook 广告、重定向广告、短信营销等。
Stripe是一家协助个人或公司在互联网上接受付款服务的支付服务提供商。Stripe提供在网上接受付款所需的技术、避免信用卡诈骗技术及银行基础设施。
创建一个流程,从Stripe获取客户资料列表,并将其添加到Brevo数据库。
前置准备
一个Stripe账户和API密钥。
至少有15位Stripe客户信息。
一个 Brevo 账户和 API 密钥。
创建流程
第一步是克隆Flow将使用的请求、collection和环境,然后将API密钥添加到环境中。当然,我们也可以创建这些请求、collection和环境。从Integration Flows的公共工作空间克隆Brevo API collection、Stripe API collection和Stripe-Brevo环境到你的工作空间。
这些collection包含将执行以下操作的请求:
从Stripe API中一次性获取所有客户资料。
将响应分为多页。
将这些资料上传至Brevo API作为联系人资料。
请求和环境也包含用于请求的变量。
创建一个新的流程,并添加一个“发送请求”块。然后,通过选择“Select a request > Stripe API > Customers > List all customers. 选择 Add environment > Stripe + Brevo”。“发送请求”块显示了三个变量,这些变量是由GET请求提供的。baseUrl
和 stripe_secret_key
变量会自动从请求的collection和环境中获取值。可以将鼠标悬停在其上查看其值和作用域。对于 limit
变量,输入 5
来指定每页结果中包含的联系人数量。本文使用15个联系人,因此限制为5将发送三页结果。
将“Send Request”块的“Success”输出连接到一个“Select”块,以检查响应的 has_more
字段,该字段为true
或 false
。如果该字段的值为 true
,则还有另一页结果需要发送。如果为 false
,则流程已到达客户联系人列表的末尾。
将“Send Request”块的“Success”输出连接到另一个“Select”块,以获取响应的 data
对象。
将 has_more
选择块连接到If块的关键输入上,并将 value1
重命名为 has_more
。选择“编写FQL条件”,并输入 has_more
。将 body.data
选择块连接到If块的数据输入上。
将“evaluate”块连接到“如果”块的“TRUE”输出端。将 value1
重命名为 contacts
。选择“开始编写FQL查询”,并输入 contacts[$count(`contacts`)-1].id
。这将获取原始响应中至少还有另一个联系人时的最后一个对象的ID。
将“send request”块连接到“evaluate”块的“result”输出上,然后选择“request > Stripe API > Customers > List all customers pagination”。该块会自动选择Stripe Brevo环境。将 5
输入到 limit
变量中。
将评估块的“结果”输出连接到“发送请求”块中的 starting_after
变量。然后将“发送请求”块的“成功”输出连接到两个 body.has_next
和 body.data
选择块的输入。
email
和 first_name
变量的输入上。将 name
分配给 first_name
变量,将 email
分配给 email
变量。下方扫码关注 软件质量保障,与质量君一起学习成长、共同进步,做一个职场最贵Tester!
往期推荐