8

从 Angular 和 Protractor 开始。

编写一些沉重的 css 选择器会在您更改某些内容时立即中断,这感觉是错误的。使用 ID 将使测试更容易。

我还没有使用任何 id 属性进行样式设置。使用 id 进行测试有什么我没有考虑过的缺点吗?

4

1 回答 1

8

一般规则是尽可能使用 ID,假设它们在 DOM 中是唯一的并且不是动态生成的。引用吉姆·福尔摩斯的话

尽可能使用 ID 属性。如果页面是有效的 HTML,则 ID 在页面上是唯一的。它们在每个浏览器中的解析速度都非常快,并且 UI 可能会发生巨大变化,但您的脚本仍会找到该元素。

有时 ID 不是正确的选择。当您使用诸如网格控件之类的东西时,动态生成的 ID 几乎总是错误的选择。您依赖一个可能与特定行位置相关联的 id,然后如果您的行发生更改,您就会被搞砸。

此外,通常尝试使用“面向数据”的方法: by.model, by.binding,by.repeater定位器,或者如果您依赖类名,请明智地选择它们:不要使用面向布局的类,如.col-xs-4or .container-fluid

另请参阅以下相关主题:

于 2015-06-16T15:48:47.593 回答