【问题标题】:Setting values whitout UI interaction. Cypress app actions在没有 UI 交互的情况下设置值。赛普拉斯应用程序操作
【发布时间】:2020-03-31 13:39:34
【问题描述】:

伙计们!我是赛普拉斯的新手,正在查看此链接 (https://www.cypress.io/blog/2019/01/03/stop-using-page-objects-and-start-using-app-actions/) 以查看页面对象和应用程序操作之间的差异。由于应用程序操作是全新的,我无法找到任何文档来帮助我。在上面的链接中,有一个示例说明如何在页面上预定义值,因此不需要 UI 交互。我能够按照这些步骤并在此处实现更改,但我不知道如何在此示例之外执行此操作。 我怎么能操纵 cypress 应用程序来做到这一点?

【问题讨论】:

  • 不确定您所说的“没有 UI 交互”是什么意思。我会按照把你的选择器放在你的 JS 中,如果你有任何可重复的东西我会把它放在一个命令中..

标签: testing automated-tests cypress


【解决方案1】:

略读这篇文章,应用程序操作的想法是从您的应用程序中导出一个 API/钩子,您的测试可以使用它与应用程序(其模型、状态等)进行交互,用于目的是加快某些工作流程(例如为模型播种)、等待某些事件等。

这并没有什么神奇之处,但它需要了解您的应用架构——您需要导出什么(即在window 对象上公开),以及如何与之交互。如果您不是应用程序的开发人员(例如,您在单独的 QA 部门工作),并且将应用程序视为一个黑匣子,那么您需要与开发团队讨论如何最好地实现这一点。

每个应用程序都是不同的,并且取决于应用程序架构(它使用什么框架?它如何存储状态/模型?等等),每个解决方案都会有所不同。

【讨论】:

  • 哦,我现在明白了,但是在播种模型场景时,如果我知道应用程序架构,我只能这样做吗?如果我是新手,并且尝试一些其他网站只是为了扩展我的知识,我不能这样做吗?
  • @Feronz 不是真的,除非它公开了一些你可以利用的 API,但即使那样你也需要知道他们的模型是如何工作的。此模式仅用于在您可以完全访问 AUT(被测应用程序)并可以对其进行修改时,加快您的测试速度或使它们更易于使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-23
  • 2021-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多