目前,我正在使用ror、mysql、html、css和jquery等构建一个Web门户,我收到自动化测试工程师的请求,要求将id属性(如果可能的话,还添加name属性)添加到我的应用程序的所有元素中。
我对此感到困惑,也许我不确定这是否是一个好的实践,所以任何人都能帮助我解决在应用程序的所有元素中添加ID属性的特定缺点/问题吗?
谢谢,
湿婆

最佳答案

要进行可靠的前端测试,您需要能够在不使用过于特定的选择器的情况下识别某些元素(如果没有引用元素,则需要这样做)。像body div:nth-of-type(4) ul li:nth-child(5) a这样检查某个链接的选择器不仅明显很难看,而且容易更改标记。一个小的改变可能会破坏你的测试套件的一半。为了避免这种情况,有几种方法可以让测试工程师的生活更轻松:
不好的方法
将为所有页面元素分配ids…
好办法
是否采用以下方法:
使用新的语义标记,如<nav><header><footer><main><section>
通过这些元素,您可以构建basic structure of your page
ids分配给重要/唯一的页面元素。谨慎使用它们,使用有意义的名称,并记住ids表示唯一元素(可能在页面上只出现一次)!
使用class属性将多个具有类似特征的元素(例如导航元素、外部/内部锚定、交互元素等)分组。
避免使用name属性,或仅在必要时使用。HTML5不赞成在某些元素(如<a>)上使用此属性,因此我将完全避免使用它。没有必要考虑所有其他的选择。
最后,您应该与您的测试工程师进行一次结对编程会话,以获得更好的感觉,他的需求是什么,所以您不必用无用的标记粘贴页面。

07-24 09:44
查看更多