首页 > 解决方案 > 使用 Cypress.Promise 在测试中获取列表值以进行比较和搜索

问题描述

我提前知道的问题可能不是“ best practice”,但我向你保证,在我能够实施手头的问题并理解为什么它效率低下之前,我不会理解“最佳实践”。

我使用反应表,我正在尝试基于 Cypress.Promise 创建辅助函数。我过去在之前的工作中这样做过,但我从未内化 Promises 背后的逻辑,因此忘记了如何获取值、拉字符串,然后将列表返回到变量以进行其余测试。虽然描述起来听起来很简单,但我很难/令人沮丧地记住如何实现它。

  1. 从那里开始,计划是通过 UI 对列表进行排序(asc 和 desc)并与 Cypress 确认。
  2. 在列表中搜索一个随机名称并验证它是列表中的唯一值
  3. 我忘了...

但我只需要一个像 let table_strings = CyPromiseFunction("table_element")

这会返回一个类似的列表["Slack","Meet","Hangouts","Messenger","Teams"]

我可以过滤和搜索。

标签: javascriptreactjscypressbluebirdcoded-ui-tests

解决方案


目前尚不清楚您要实现什么目标,但听起来您想获取表数据并使用该数据来验证过滤、排序等。如果不是这种情况,请将您的答案更新为更详细。

如果这是您要尝试做的,那么我不确定您为什么需要使用它Cypress.Promise来实现这一目标。

如果你的 React 表使用tbody/theader/tr/td类型结构,你可以使用Cypress-Get-Table插件来获取你的表数据。如果不出意外,查看源代码可以帮助您走上正轨。


推荐阅读