Cypress-如何最好地测试多步骤流程

Cypress-如何最好地测试多步骤流程,cypress,Cypress,使用用户需要通过以下步骤购买航班的示例场景: 选择出站航班,转到下一页 选择返程航班,转到下一页 输入帐单信息,转到下一页 在确认页面上-提交信息 现在我知道,Cypress是以编程方式构建状态,而不是通过UI执行步骤。因此,对于烟雾测试,我是否只想从步骤4开始测试,向它提供一个先前设置的状态,并确保提交时没有错误 另外,其他页面如何?是否可以使用一个端到端测试,仅通过UI完成步骤1-4?有两种可能实现这一点的方法。 一,。在cy.route中使用Rest API,更多信息请参见: 二,。如果网

使用用户需要通过以下步骤购买航班的示例场景:

  • 选择出站航班,转到下一页
  • 选择返程航班,转到下一页
  • 输入帐单信息,转到下一页
  • 在确认页面上-提交信息
  • 现在我知道,Cypress是以编程方式构建状态,而不是通过UI执行步骤。因此,对于烟雾测试,我是否只想从步骤4开始测试,向它提供一个先前设置的状态,并确保提交时没有错误


    另外,其他页面如何?是否可以使用一个端到端测试,仅通过UI完成步骤1-4?

    有两种可能实现这一点的方法。
    一,。在
    cy.route
    中使用Rest API,更多信息请参见:

    二,。如果网站向url附加查询参数,例如www.flightsight.com/?from=london&to=chicago,则可以在步骤4中提供此url。

    如果站点使用POST请求,那么不幸的是这些参数将不可用。

    我最终使用了
    cy.route
    。为了详细说明,您需要首先手动运行测试,并从步骤3到步骤4提交表单数据。然后在第3步单击submit时检查API给出的响应。然后您可以使用
    cy.route
    通过向响应提供一个包含该api响应的文件来模拟该响应。最后,我的解决方案是将全局超时设置得足够大,以考虑由于CPU负载导致的api延迟。我有同样的问题,但我们有一个单页应用程序,因此更改了“页面”没有使用HTTP参数完成,也不可能进行手动测试,这一切都必须自动完成。我在考虑再问一次关于“一页”申请的问题。此外,我们使用的是流程引擎(BPMN),因此“状态”通常存储在此流程引擎中。我也想知道答案,因为我还有一个多步骤流程,涉及调用3个不同的API。@Alex.a请参阅接受的答案,并在接受的答案中查看我的注释