gpt4 book ai didi

html - HTML 标记中测试自动化的测试 ID?

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:50 26 4
gpt4 key购买 nike

我们使用自动化测试来验证我们的网络应用程序的功能。为了使测试用例中的断言更简单、更灵活,我们正在考虑引入“TestIDs”,即 HTML 标记中的 ID,帮助测试用例查找和验证页面上的元素。此外,这些 TestID 将允许更具体的集成测试,由于页面上的数据有限,目前这是不可能的。

然而,让我们犹豫的是:

  • 引入测试 ID 意味着为了测试而改变测试
  • 安全 - 我们会披露内部域对象 ID 和其他不会在页面上显示的信息
  • 标准 - 根据我们将 TestID 放入标记的方式,我们很可能会违反元素或属性的预期语义使用(例如“id”或“class”属性,其他 html 元素等)
  • 干扰 - TestID 可能会干扰应用程序代码
  • 性能 - TestID 是不必要的标记(对用户而言)并会增加页面大小(仅在大页面上很重要)

将 TestID 限制为测试/暂存 HTML 似乎不是一个好主意,因为我们显然想要测试将在生产中使用的代码,并且不希望我们的测试/暂存环境表现不同。事实上,我们目前在发布后针对实时系统运行部分测试套件。

您认为 TestID 是个好主意吗?如果是,您会如何将它们放入标记中?


一些示例标记来演示我在说什么:

<!-- this test id allows an integration test to verify that
the carrot 188271 is in fact green but exposes the id to the user -->
<tr id="testid-carrot-id-188271">
<td class="color">green</td>
<td class="size">doesn't matter</td>
</tr>

最佳答案

我永远不会将用于测试的代码留在实时站点中。那只是糟糕的原则,并且会招致黑客攻击。

只要您的测试 ID 的格式不与页面上的其他 ID 冲突(ID 必须是唯一的)并且不被任何实时代码引用(如果您无法确定这里有更大的错误)那么带有 ID 的测试网站和没有 ID 的实际网站之间的行为应该没有任何差异。

在我看来,最佳实践是设计成您的测试代码可以在您的开发网站上正确执行,并且您知道删除它不会损害您的实际网站。如果我的网站需要定期测试实时版本以确保其正常工作,我会担心。

关于html - HTML 标记中测试自动化的测试 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1028297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com