如何在TestNG测试中保持重复的断言块?

问题描述 投票:0回答:1

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

**Test1** 
{
Execute workflow 1

ASSERT BLOCK {
20+ ASSERTS
}

**Test2**
 {
Execute workflow 2

ASSERT BLOCK {
20+ ASSERTS
}

}

这个断言块对所有的测试用例都是一样的,所以将来如果需要增加或删除一个断言,必须在每个测试用例上进行。 这对维护来说有点开销。 谁能建议一下,为了提高可维护性和消除由于断言造成的测试冗余,处理这种情况的最好方法是什么。

selenium testng regression ui-automation
1个回答
1
投票

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

这种方式更容易维护,因为你只需要在一个地方维护进出的内容,而且你也避免了重复的代码。


-1
投票

那创建一个通用的方法,把所有的20+断言保存在里面呢?

© www.soinside.com 2019 - 2024. All rights reserved.