我们可以在单个断言中使用多个TestNG断言吗?

时间:2018-08-08 11:38:58

标签: java selenium testng

我是自动化测试的新手,我在这里使用断言检查测试中字段的可用性。因此,如果我们可以对所有字段进行合并而不是对所有字段使用Assert的话,请帮助我在一个断言中。这样,无论哪个字段都不如预期,都会相应地进行报告。

下面是示例:-

    Assert.assertTrue(Details.isFieldAvailable(storeID),storeID+ "field is not present however it is expected to be available on the form.");

    Assert.assertTrue(Details.isFieldAvailable(tdLinxID),tdLinxID+ "field is not present however it is expected to be available on the form");


    Assert.assertTrue(Details.isFieldAvailable(GLN),GLN+ "field is not present however it is expected to be available on the form");

1 个答案:

答案 0 :(得分:2)

是的。这就是为什么有SoftAssert的原因。

SoftAssert -在@Test期间收集错误(不引发任何异常),并且如果您调用org.testng.asserts.SoftAssert#assertAll,则@Test末尾将引发异常,如果存在测试套件再次继续下一个@Test

使用SoftAssert。

类似这样的东西:

public class SoftAsert
{
@Test
public void test()
{
    SoftAssert asert=new SoftAssert();
    asert.assertEquals(false, true,"failed");
    asert.assertEquals(0, 1,"brokedown");
    asert.assertAll();
}
}