我们使用自动化测试来验证Web应用程序的功能.为了使测试用例中的断言更简单,更灵活,我们正在考虑引入’TestIDs’,即
HTML标记中的ID,帮助测试用例找到并验证页面上的元素.此外,这些TestID将允许更具体的集成测试,由于页面上的数据有限,这些测试目前是不可能的.
但是,这就是让我们犹豫的原因:
>引入测试ID意味着更改测试测试
>安全性 – 我们会披露内部域对象ID和其他在页面上不可见的信息
>标准 – 取决于我们如何将TestID放入标记中,我们很可能违反元素或属性的预期语义用法(例如’id’或’class’属性,其他html元素等)
>干扰 – TestID可能会干扰应用程序代码
>性能 – TestID是不必要的标记(对用户而言)并增加页面大小(仅对大页面有意义)
将TestID限制为测试/暂存HTML似乎不是一个好主意,因为我们显然希望测试将在生产中使用的代码,并且不希望我们的测试/暂存环境表现不同.实际上,我们目前在发布后针对实时系统运行部分测试套件.
你认为TestIDs是个好主意吗?如果是这样你会如何将它们放入标记中?
一些示例标记来演示我正在谈论的内容:
greendoesn't matter