向 Web 应用程序的所有 HTML 元素添加 ID 属性?

2024-04-16

目前,我正在使用 RoR、MySQL、HTML、CSS 和 jQuery 等构建一个 Web 门户,我收到自动化测试工程师的请求,要求向我的应用程序的所有元素添加 ID 属性(如果可能的话,还有 NAME 属性)。

我对此感到困惑,也许我不确定这是否是一个好的做法,所以任何人都可以帮助我解决向我的应用程序的所有元素添加 ID 属性的具体缺点/问题。

Thanks,
Siva


为了进行可靠的前端测试,您需要能够识别某些元素,而无需使用过于具体的选择器(如果没有参考元素,则需要使用选择器)。像这样的选择器body div:nth-of-type(4) ul li:nth-child(5) a检查某个链接不仅明显难看,而且标记也容易发生变化。一个小小的改变可能会破坏你的测试套件的一半。为了避免这种情况,有几种方法可以让测试工程师的工作变得更轻松:

坏方法

将是分配id到您的所有页面元素...

好办法

是以下方法:

  1. 利用新的语义标签,例如<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.
  2. Assign id重要/独特的页面元素。谨慎使用它们,使用有意义的名称并记住ids 代表独特的元素(在页面上只能出现一次)!
  3. Use the class属性将多个具有相似特征的元素分组(例如导航元素、外部/内部锚点、交互元素……)
  4. Avoid name属性,或仅在必要时使用。 HTML5 不推荐在某些元素上使用此属性,例如<a>,所以我会完全避免它。没有必要考虑您拥有的所有其他选项。

最后,您应该与测试工程师进行结对编程会议,以更好地了解他的需求是什么,这样您就不会在页面上涂抹无用的标记。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向 Web 应用程序的所有 HTML 元素添加 ID 属性? 的相关文章

  • HTML代码可以像CSS文件一样附加到HTML页面吗?

    HTML 代码可以像 CSS 文件一样附加到 HTML 页面吗 这样 如果所有页面中都复制了部分 HTML 代码 我可以将其放在一个文件中 然后轻松修改它 谢谢 Ahmed 是的 可以 使用框架 但不推荐 Example 此代码将允许您重用
  • 将引导程序中的表单居中不起作用[重复]

    这个问题在这里已经有答案了 我试图将我的表单置于 div 中 但我使用的方法不起作用 我尝试使用引导文档中所述的 justify content center 属性 但它没有将其居中 当我尝试将其居中但应用时display flex and
  • 数据表“footerCallback”函数未在页脚中显示结果

    我尝试获取每列的总和并将结果显示在页脚中 我在用着 页脚回调 https datatables net reference option footerCallbackDatatables提供的功能 但是它在页脚中没有显示任何内容 数据表解释
  • 新BFC“清”浮箱

    如示例所示 应用display inline block 到包含块似乎 清除 了其中的浮动框 wrapper inline block display inline block left column background color te
  • 更改 CSS 网格中的列顺序

    我正在研究 CSS 网格 当我在桌面尺寸上查看它时 min width 769px 我有单行三列 像这样的事情 col 1 col 2 col 3 我可以使用 css grid 移动列 以便我可以在移动布局上执行类似以下操作吗 col 1
  • 阻止通过 GET 传递“提交”按钮值?

    我正在尝试通过 GET 传递表单信息 这很重要 这样人们就可以将表单选择中过滤后的数据发送给其他人 问题是 使用下面的代码 它不仅传递过滤器信息 还传递提交表单值 如下所示 index php month filter Feb year f
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • 如何仅突出显示嵌套表的最里面的表行?

    我有几个嵌套表 我想突出显示鼠标指针下方的最里面的行 我怎样才能做到这一点 一些提示 我使用嵌套表来显示递归表格数据 表可以嵌套 10 层 嵌套正如您所期望的那样 table tr td table tr td table tr td 可能
  • 使用 div 或表格来包含链接列更好吗?

    我的页面底部有 3 列链接 每列都放入一个 div 中 所有三个 div 都包装在页面中央的一个大 div 中 这是更适合桌子的东西还是桌子不适合这项工作 您还可以使用 ul http www w3schools com tags tag
  • 当最初在范围内设置值时,日期选择器弹出格式不起作用

    我正在使用 Angular UI 引导日期选择器弹出窗口 并在 Plunker 上使用此自定义指令 http plnkr co edit 053VJYm1MpZUiKwFTfrT p preview http plnkr co edit 0
  • ::after 内联 HTML 电子邮件?

    banner width 34px height 52px position relative color white font size 11px letter spacing 0 2em text align center float
  • 如何使用 HTML5 地理位置查找用户所在的国家/地区?

    我熟悉 HTML5 地理定位 用于返回用户位置的粗略坐标 但是 如何返回其坐标所在国家 地区的名称 如果你只想要这个国家 这里有一个更简单的方法 使用ws geonames org http ws geonames org而不是谷歌 if
  • 自定义 SVG 未加载到我的图像标签中

    目前我正在尝试将自定义 svg 组件加载到图像标签内 但由于某种原因 我无法看到地图组件内的 svg 图像 我的自定义 SVG 文件如下所示 我在 SVG 中加载另一个图像
  • Facebook 分享自定义消息

    项目网站上有一个测验 您可以回答一些问题 然后根据答案得出结果 结果有时会有所不同 但客户要求结果 自定义消息 应该能够在 Facebook 上共享 我想做的就是通过自定义消息分享测验的网址 即 我在有关历史的测验中回答了 10 个问题中的
  • CSS 选择器:Active 不适用于 IE8 中的子元素单击

    我有以下 HTML 结构 div class wrapper div class control clickable img src logo png div div 以及以下 CSS control border 1px solid 00
  • 推文按钮不出现

    我正在尝试向 html 页面添加一个 tweet 按钮 我使用 Twitter 按钮生成器中的官方代码 http twitter com about resources buttons tweet http twitter com abou
  • 使用 html 敏捷包解析 html

    我想从这个 div 中收集所有标签 但不知道如何使用 xpath 方法以最佳方式做到这一点 div class biz info h3 a href profil 78122 s C3 B8rby rehab S rby Rehab a h
  • 在 Chrome 中为

    我已经看到这个问题多次出现 但没有任何明确的解决方案 我正在加载一个简单的视频
  • 嵌套 DIV 的类似斑马的 CSS 样式

    我嵌套了 DIV 元素 但我不知道嵌套的级别 我需要每个都有与其父级不同的背景 创建类似斑马的颜色 我只使用两种背景 深色和白色 效果需要类似于在容器中设置奇数和偶数子级的样式 但在我的例子中 子级是嵌套的 我可以使用每个嵌套元素的规则来做
  • 中有样式表 吗?

    在内部链接 CSS 文件是一个坏主意吗 body 我读过 如果浏览器在外部找到另一个 CSS 文件 则它会被迫重新开始 CSS 渲染 head 只是因为它可能需要将样式应用于已经渲染的元素 另外 我认为 HTML 无法正确验证 我需要确认这

随机推荐