【问题标题】:Should I ask the developer to data tags for a react webpage I need to test?我应该要求开发人员为我需要测试的反应网页数据标签吗?
【发布时间】:2021-09-06 19:59:33
【问题描述】:

我正在 Cypress 中编写一个自动化脚本,用于测试我们的一个 Web 应用程序。据我所知,大多数元素在 HTML 中只有类属性,这些属性是根据 React 的渲染顺序随机分配的。

这是一个示例图像:

由于大多数字段除了 CSS 之外没有其他字段,我不得不依赖 XPath,这使得它非常麻烦并且使测试变得不稳定。我也喜欢 Cypress 中的选择器游乐场,它不能与 XPath 本机一起使用。

以下是我的一些问题:

  1. 我是否应该在我的大部分 Cypress 位置只使用 XPath?
  2. 是否应该要求开发者添加data-test或data-cy标签,以便定位器可以很容易地识别和使用?
  3. 我打算在生产中使用它,保留数据标签是否存在重大安全风险?

【问题讨论】:

    标签: reactjs cypress ui-automation


    【解决方案1】:

    赛普拉斯推荐用于测试识别的特殊属性,从编写测试的角度来看是最简单的,但也有缺点

    • 您需要在多少地方放置data-cy?
    • 您是否知道他们应该去哪里,或者随着测试的进行,您是否必须不断要求更多
    • 是否存在关于生产包大小的问题
    • 是否担心源代码混乱

    不一定要用xpath,Cypress的Traversal命令海量,总结在这里Examples of traversing DOM elements in Cypress

    例如兄弟姐妹(),父母(),下一个(),查找(),过滤器()

    可能一个好的开始是在组件的逻辑“顶部”元素(例如标题、菜单)中添加 data-cy 属性,并使用遍历命令在其中工作。

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 2016-08-12
      相关资源
      最近更新 更多