Java|java + selenium测试框架 (之校验优化,运行报错但不终止执行)

引入SoftAssert报错但不终止执行 在自动化执行过程中,可能涉及到多个步骤的多个校验点。如果使用Assert 来做判断,报错后不会继续执行。但有时我们需要能够继续运行。
常见思路:自己封装Assert,将异常捕获,然后在最后输出报错信息。
网上发现了一个testng已经做好的封装,亲测好用,更新一下:
如下,执行到msg1的时候就会报错,无法继续执行。

public class AssertTest { @Test public void test() { Assert.assertTrue(false,"msg1"); Assert.assertTrue(false,"msg2"); } }

【Java|java + selenium测试框架 (之校验优化,运行报错但不终止执行)】引用testng的SoftAssert,解决多个校验点的问题
import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; public class SoftAsertTest { @Test public void test() { SoftAssert asert=new SoftAssert(); asert.assertEquals(false, true,"failed"); asert.assertEquals(0, 1,"brokedown"); asert.assertAll(); } }

更新TestBase
public class TestBase { ... protected SoftAssert softAssert = new SoftAssert(); }public class SourcePCTest extends TestBase {... SearchResultPage page = null; @BeforeMethod public void initPage() { page = new SearchResultPage(driver); }//应用 @Test public void testSearch(){ logger.info("测试搜索的来源参数"); ... softAssert.assertTrue(false,"xxxx"); ... softAssert.assertTrue(false,"xxxxx"); ... softAssert.assertAll(); }

    推荐阅读