在模板中使用定位器名称来编写更容易的端到端测试是一个坏主意吗?

Is it a bad idea to use locator names in templates to write easier E2E tests?

本文关键字:测试 一个 定位器 更容易      更新时间:2023-09-26

我发现很难找到我正在测试的东西,当它深嵌套时,等等

用某事是一个坏主意吗

<h1 name="test-main-title">About Us</h1>

,直接用

element(by.name('test-main-title'));?

之后,对于prod构建,我可以从HTML文件中删除name="test-*"。在我开始做之前,我只是想知道这是不是一个糟糕的主意。

这个想法本身类似于修改应用程序或特定的应用程序构建以进行测试或分级,以使测试更容易。这个想法本身是非常普遍的,有它的优点和缺点。尽管我并不特别喜欢为此改变现有属性值的想法。相反,可以考虑添加有意义的id和面向数据的class或其他属性。

id具有多种优势-它们不太可能被更改,它们是唯一的(至少理论上应该),它们是面向数据的(意思是,您可能不会有等于col-sm-6的id),并且它们是定位元素的最快方法。

还有,这里有更多想法的相关线程:

  • 测试自动化html元素选择器。元素ID或数据属性
  • 是添加id到一切标准做法时使用硒?