目前,我正在使用 RoR、MySQL、HTML、CSS 和 jQuery 等构建一个 Web 门户,我收到自动化测试工程师的请求,要求向我的应用程序的所有元素添加 ID 属性(如果可能的话,还有 NAME 属性)。
我对此感到困惑,也许我不确定这是否是一个好的做法,所以任何人都可以帮助我解决向我的应用程序的所有元素添加 ID 属性的具体缺点/问题。
Thanks,
Siva
为了进行可靠的前端测试,您需要能够识别某些元素,而无需使用过于具体的选择器(如果没有参考元素,则需要使用选择器)。像这样的选择器body div:nth-of-type(4) ul li:nth-child(5) a
检查某个链接不仅明显难看,而且标记也容易发生变化。一个小小的改变可能会破坏你的测试套件的一半。为了避免这种情况,有几种方法可以让测试工程师的工作变得更轻松:
坏方法
将是分配id
到您的所有页面元素...
好办法
是以下方法:
- 利用新的语义标签,例如<nav> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav, <header> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header, <footer> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer, <main> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main, and <section> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section.
通过这些元素,您可以构建页面的基本结构 https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML_sections_and_outlines.
- Assign
id
重要/独特的页面元素。谨慎使用它们,使用有意义的名称并记住id
s 代表独特的元素(在页面上只能出现一次)!
- Use the
class
属性将多个具有相似特征的元素分组(例如导航元素、外部/内部锚点、交互元素……)
- Avoid
name
属性,或仅在必要时使用。 HTML5 不推荐在某些元素上使用此属性,例如<a>
,所以我会完全避免它。没有必要考虑您拥有的所有其他选项。
最后,您应该与测试工程师进行结对编程会议,以更好地了解他的需求是什么,这样您就不会在页面上涂抹无用的标记。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)