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

时间:2016-08-09 23:20:35

标签: javascript selenium automation protractor

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

使用

是不是一个坏主意
<h1 name="test-main-title">About Us</h1>

然后使用

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

稍后,对于prod构建,我可以从HTML文件中删除name="test-*"。在我开始这样做之前,如果这是一个可怕的想法,只想知道。

1 个答案:

答案 0 :(得分:4)

这个想法本身类似于修改应用程序或用于测试或登台的特定应用程序构建,以使测试更容易。这个想法本身很常见,有其优点和缺点。我并不特别喜欢为此更改现有属性值的想法。相反,请考虑添加有意义的id和面向数据的class es或其他属性。

id具体有多个优点 - 它们不太可能被改变,它们是独一无二的(至少它们应该在理论上),它们是面向数据的(意思是,你可能没有等于id到col-sm-6),它们是定位元素的最快方法。

此外,这里有更多想法的相关主题: