testng -注解之@BeforeSuite、@AfterSuite
一、基本用法
suite >class>method
@BeforeSuite:测试套件前运行,一个测试套件中可以包含多个测试类
@AfterSuite:测试套件后运行
package com.test.finance.testcase; import org.testng.annotations.*; public class Testc { @BeforeSuite public void beforesuite(){ System.out.println("beforesuite运行"); } @AfterSuite public void aftersuite(){ System.out.println("aftersuite运行"); } @BeforeClass public void beforeclass(){ System.out.println("beforeclass运行"); } @AfterClass public void afterclass(){ System.out.println("afterclass运行"); } @BeforeMethod public void beforemethod(){ System.out.println("beforemethod运行"); } @AfterMethod public void aftermethod(){ System.out.println("aftermethod运行"); } @Test public void testc_1(){ System.out.println("testc_1运行"); } @Test public void testc_2(){ System.out.println("testc_2运行"); } } =======结果===== beforesuite运行 beforeclass运行 beforemethod运行 testc_1运行 aftermethod运行 beforemethod运行 testc_2运行 aftermethod运行 afterclass运行 aftersuite运行
二、如何实现@BeforeSuite/@AfterSuite在多个测试类前后运行一次??
目前了解到,testng不能想pytest只需要在一个根目录下的conftest.py文件中设置前置fixture即可实现多个文件公用一个前置
testng实现方式:写一个BaseTest.class类,里面编写@BeforeSuite、@AfterSuite测试方法,用其他的测试类继承BaseTest.class类
目录结构:
代码编写:
/** *基础类中包含@BeforeSuite、@AfterSuite、@BeforeClass、@AfterClass */ public class BaseTestcase { @BeforeSuite public void beforeSuite(){ System.out.println("执行beforeSuite"); } @AfterSuite public void afterSuite(){ System.out.println("执行aftersuite"); } @BeforeClass public void beforeClass(){ System.out.println("执行beforeclass"); } @AfterClass public void afterClass(){ System.out.println("执行afterclass"); } } /** *测试类Testa extends BaseTestcase */ public class Testa extends BaseTestcase { @Test public void testa_1(){ System.out.println("testa-1执行"); } @BeforeMethod public void beforeMethod(){ System.out.println("beforemethod执行成功"); } @AfterMethod public void afterMethod(){ System.out.println("aftermethod执行成功"); } } /** *测试类Testa extends BaseTestcase */ public class Testb extends BaseTestcase { @Test public void testb_1(){ System.out.println("testb_1执行了"); } } /** *testng.xml文件,配置运行设置 */ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="111"> <test name="test"> <classes> <class name="com.test.finance.testcase.Testa"/> <class name="com.test.finance.testcase.Testb"/> </classes> </test> </suite>
=====直接右键-运行testng.xml===
执行beforeSuite
执行beforeclass
beforemethod执行成功
testa-1执行
aftermethod执行成功
执行afterclass
执行beforeclass
testb_1执行了
执行afterclass
执行aftersuite
posted on 2021-05-23 20:17 jesse_zhao 阅读(470) 评论(0) 编辑 收藏 举报