javascript - 使用 Cypress 测试 Stripe Checkout

标签 javascript cypress stripe-payments

我必须调用stripe.redirectToCheckout ( https://stripe.com/docs/js/checkout/redirect_to_checkout )在 js 中将客户带到他们的 strip 结帐页面。

我想使用 cypress 来测试结帐过程,但是它无法处理 strip 重定向,因为当 stripe.redirectToCheckout 时 cypress 帧丢失了导航到 Stripe 域上的页面。

我还想测试 Stripe 是否将我们重定向回成功或错误 URL。

  • 一旦我们导航到 Stripe 结帐,有什么方法可以强制 cypress “重新附加”到页面
    -或-
  • 有什么方法可以获取 Stripe 结帐页面的 URL,以便我们可以手动重定向,或者只知道它至少是使用正确的参数调用的。

  • 我知道 cypress (https://github.com/cypress-io/cypress/issues/1496) 的人认为测试外部站点是一种“反模式”。但是在这种情况下,如何测试一个非常标准的 Web 流程结帐(使用非常流行和标准的支付服务,我将添加)?我不认为这是一种“反模式”。这是端到端测试的一个重要步骤,Stripe 专门为我们提供了一个测试沙盒。

    最佳答案

    使用像 strip 这样的外部依赖项对应用程序进行 e2e 测试的一种常见方法是制作一个简单的模拟版本,然后将其应用于 e2e 测试。模拟也可以在开发过程中应用,以加快速度。

    关于javascript - 使用 Cypress 测试 Stripe Checkout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62395434/

    相关文章:

    reactjs - 如何使用 Cypress 测试 React Material UI "Select"

    paypal - 完成交易后可以存储客户的信用卡信息吗?

    stripe-payments - Stripe Connect 在连接的企业帐户中重复使用客户保存的付款方式

    python - curl 作为 Zapier Webhook 到 Stripe

    javascript jquery.getJSON 奇怪的行为

    php - 使用 Jquery/javascript 添加大量 HTML

    loops - 如何在柏树中停止循环

    angular - Cypress - 以编程方式操作 Angular/NGRX 应用程序

    javascript - 开启 JQuery 切换按钮

    javascript - Node.js Passport -facebook 回调循环