使用 Cypress 进行测试 Stripe Checkout

Sal*_*ami 14 javascript stripe-payments cypress stripe-checkout

我必须在 js 中调用stripe.redirectToCheckouthttps://stripe.com/docs/js/checkout/redirect_to_checkout)才能将客户带到他们的条纹结帐页面。

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

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

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

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

Vil*_*oja 3

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