如何在 TestNG 测试中维护断言的重复块



我有一个应用程序,它有许多用Selenium编写并使用TestNG的回归自动化测试用例。 每个测试都是验证不同的工作流,最后验证一个页面,该页面是所执行工作流的产物。 通常,此页面始终相同,并且有许多断言(大约 20+(。 这些断言中的大多数都是重复的,因为它们在执行工作流后检查页面上的相同值,例如:

**Test1** 
{
Execute workflow 1
ASSERT BLOCK {
20+ ASSERTS
}
**Test2**
{
Execute workflow 2
ASSERT BLOCK {
20+ ASSERTS
}
}

此 Assert 块对于所有测试用例都是相同的,因此将来如果需要添加或删除断言,则必须在每个测试上完成。 这在某种程度上是维护开销。 有人可以建议处理这种情况的最佳方法是什么,以提高可维护性并消除由于断言而导致的测试冗余。

首先,您需要弄清楚在每个工作流之后执行所有这些断言是否有意义。 如果是,我要做的是根据您的元素类型将所有正在检查的元素保留到单个数组或枚举中,在那里我可以轻松添加或删除它们。然后在测试本身上,我将循环断言。

这种方式更容易维护,因为您只在一个地方维护进出的内容,并且还可以避免重复的代码。

创建一个将所有 20 + 断言保留在其中的通用方法怎么样

最新更新