java - 集成测试和 UI 更改

标签 java jsp testing integration-testing web-testing

我们的网络应用程序有很多集成测试。如何处理页面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/

相关文章:

java - 使用服务帐号访问具有外部数据源的 BigQuery 表

java - 如何从jsp中获取值

java - 重启嵌入式tomcat

java - JSP调用servlet并转义注释

java - c :forEach not working

javascript - : "describe" and "it" coming from? 这个词来自哪里

docker - Alpine Docker 错误 : Unable to lock database: Permission denied ERROR: Failed to open apk database: Permission denied

build.gradle中testImplementation和androidTestImplementation之间的android区别

java - <U, T extends U> 和 <T, U super T> 不一样吗?

java - 使用外部数组进行插入排序?