我们的网络应用程序有很多集成测试。如何处理页面UI结构的变化?所有测试都基于带有 id 和特定标签名称的 xpath(这真的很糟糕)。
ID 组是一个契约,但是 Web 开发人员如何在不使测试失败的情况下轻松修改页面?
最佳答案
正如您所注意到的,XPath 表达式非常脆弱,因为即使对页面结构进行微小的更改也会破坏它们。我不建议在测试中使用它们作为查找特定元素的方法。
能否重写您的测试以仅使用元素的唯一 ID 而不是 XPath 表达式来搜索元素?在修改页面时很容易保留 ID。
或者 - 如果出于某种原因您需要经常更改元素的 ID - 也许您可以向包含唯一且不变的“测试 ID”的 HTML 标记添加另一个属性,如下所示:
<a href="mylink.html" id="idThatWillBeChanged" test-id="myLink">My link</a>
然后您可以使用该测试 ID 定位元素。不幸的是,添加这样的属性将意味着您的页面将停止验证为有效的 HTML,并且某些 IDE 会将其标记为错误。
关于java - 集成测试和 UI 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9783684/