验证如果失败则不跳过测试用例

时间:2015-06-09 09:12:44

标签: validation selenium testng assert

我有以下测试用例:

  1. 登录 - 退出
  2. 登录 - 搜索 - 退出
  3. 登录 - 搜索 - 点击结果 - 退出
  4. 所有这3个测试用例都被认为是独立的,并且属于单个testNg类。

    如何验证第一个测试用例(即如何检查登录是否成功)?

    我已尝试使用assert,但当assert失败时,剩余的测试用例(实际上与第一个无关)将被跳过。

    如何确保验证所有测试用例,无论是否通过,我都应该继续执行testNG类中的所有测试用例?

1 个答案:

答案 0 :(得分:0)

看起来你正在寻找ErrorCollector。或者您可以使用自定义SoftAssert。这是我对 JUnit

的ErrorCollector实现
    @Rule //collects errors without aborting test
    public ErrorCollector collector = new ErrorCollector();

    @Test
    public void SampleTest() throws Exception {

...
        try {

            // Verify label
            Assert.assertEquals("label"
                    ,driver.findElement(By.xpath("some_xpath")).getText());

        } catch (AssertionError e) {
            System.out.println("Report Error: " + e);
            collector.addError(e);
        }

...

}
相关问题