集成测试和UI更改

时间:2012-03-20 08:47:04

标签: java jsp testing integration-testing web-testing

我们的Web应用程序有许多集成测试。如何处理页面UI结构的变化?所有测试都基于带有id和特定标签名称的xpath(真的很糟糕)。

ID组是一个合同,但是Web开发人员如何在不失败测试的情况下轻松修改页面?

2 个答案:

答案 0 :(得分:2)

正如您所注意到的,XPath表达式非常脆弱,因为即使对页面结构进行微小更改也可能会破坏它们。我不建议在测试中使用它们作为查找特定元素的方法。

您的测试是否可以重写以仅使用其唯一ID搜索元素,而不是在XPath表达式上搜索?修改页面时,ID很容易保留。

或者 - 如果由于某种原因您需要经常更改元素的ID - 也许您可以为包含唯一且不变的“测试ID”的HTML标记添加另一个属性,如下所示:

<a href="mylink.html" id="idThatWillBeChanged" test-id="myLink">My link</a>

然后,您可以使用该test-id查找元素。不幸的是,添加这样的属性意味着您的页面将停止验证为有效的HTML,并且某些IDE会将其标记为错误。

答案 1 :(得分:0)

据我所知,问题的根源在于您应该在所有测试用例中反映DOM的变化。通过添加DRY的另一个抽象层,可以消除此PageObject pattern违规。在这种情况下,当元素发生变化时,你只会在一个类中更新它。

另见: