在testng进行测试的时候,往往会用到流程测试,在测试流程的时候,会有一些重复的操作可以多个类共用相同的方法,即放在父类中。
1.Before
Before包含@BeforeClass、@BeforeMethod、@BeforeGroups、@BeforeSuite。
在子类中可以调用到父类的@Before方法,包含上面的所有的Before。下面代码示例:
TestngTestng.java package com.yesterday.time.testng; import org.apache.log4j.Logger; import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider; public class TestngTestng { Logger logger = Logger.getLogger(TestngTestng.class); @BeforeClass public void testbefore(){ logger.debug("testbfore"); } } |
TestngTestng1.java
package com.yesterday.time.testng; import org.testng.annotations.Test; public class TestngTestng1 extends TestngTestng{ @Test public void testb(){ logger.debug("TestngTestng1.testb"); } } |
结果为:
[DEBUG] 2016-12-27 13:29:33,718 method:com.yesterday.time.testng.TestngTestng.testbefore(TestngTestng.java:14)testbfore [DEBUG] 2016-12-27 13:29:33,738 method:com.yesterday.time.testng.TestngTestng1.testb(TestngTestng1.java:10)TestngTestng1.testb |
2.DataProvider 此方法也可以写在父类中,常用于对同一个对象做流程操作。
请 package com.yesterday.time.testng; import org.apache.log4j.Logger; import org.testng.annotations.DataProvider; public class TestngTestng { Logger logger = Logger.getLogger(TestngTestng.class); @DataProvider(name = "test1") public Object[][] test1(){ logger.debug("TestngTestng.test1"); return new Object[][]{{5}}; } @DataProvider(name = "testA") public Object[][] testA(){ logger.debug("TestngTestng.testA"); return new Object[][]{{10}}; } } package com.yesterday.time.testng; import org.testng.annotations.Test; public class TestngTestng1 extends TestngTestng{ @Test(dataProvider = "test1") public void test(int id){ logger.debug("TestngTestng1.test"); System.out.println("sfsd"); if(id>5) { System.out.println("GGGGGGGG"); }else{ System.out.println("aaaaaaa"); } } @Test(dataProvider = "test1") public void test2(int id){ logger.debug("TestngTestng1.test2"); System.out.println("sfsd"); if(id>5) { System.out.println("GGGGGGGG"); }else{ System.out.println("aaaaaaa"); } } @Test(dataProvider = "testA") public void test1(int id){ logger.debug("TestngTestng1.test1"); System.out.println("sfsd"); if(id>5) { System.out.println("GGGGGGGG"); }else{ System.out.println("aaaaaaa"); } } } |
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。