Ray*_*ess 4 html selenium automated-tests selenium-webdriver
我目前正在为UI测试自动化元素添加一些ID.这些ID仅用于测试.我应该添加数据属性,而不是让未来的开发人员更容易阅读(data-testHandle ="mybutton"),或者我应该坚持使用ID.
w3.org说:
自定义数据属性旨在将自定义数据存储为页面或应用程序的私有数据,因为没有更合适的属性或元素.
我倾向于保留ID,但我的一些人认为未来的开发人员会认为ID没有使用并删除它们.
这里有任何最佳实践.谢谢.
这接近于基于意见,这里的摘要应该有助于做出选择.
为什么要使用ID属性:
document.getElementById(),这是由现代浏览器优化的(但通常,端到端UI测试的性能并不重要)id尽可能使用元素的s 提供更强大的定位器#myid .someclass,而不是[automation-id=myid] .someclass.为什么要使用自定义属性:
automation-id属性添加到所有所需元素,您可能会将其命名/命名为测试自动化 - 每个人都会从属性名称中知道这是什么.这意味着,您可以大大降低开发人员故意更改属性的可能性,而不是id属性,这可以并且通常也用于应用程序客户端逻辑(引用此和此答案)另外,这里有一些相关的主题:
我会使用data属性,因为您(或其他人)可能需要使用ID来稍后为JS定位元素.除了测试之外,没有人需要将自定义数据属性作为目标.
| 归档时间: |
|
| 查看次数: |
4826 次 |
| 最近记录: |