SeleniumAbstractTest.class
public abstract class SeleniumAbstractTest {
@BeforeSuite
public void beforeSuite() {
System.out.println("BeforeSuite");
}
@BeforeTest
public void beforeTest() {
System.out.println("BeforeTest");
}
@BeforeClass
public void beforeClass() {
System.out.println("BeforeClass");
}
@BeforeMethod
public void beforeMethod() {
System.out.println("BeforeMethod");
}
@AfterMethod
public void afterMethod() {
System.out.println("AfterMethod");
}
@AfterClass
public void afterClass() {
System.out.println("AfterClass");
}
@AfterTest
public void afterTest() {
System.out.println("AfterTest");
}
@AfterSuite
public void afterSuite() {
System.out.println("AfterSuite");
}
}
MyTestClass1.class
public class MyTestClass1 extends SeleniumAbstractTest {
@Test
public void myTestMethod1() {
System.out.println("myTestMethod1");
}
@Test
public void myTestMethod2() {
System.out.println("myTestMethod2");
}
}
MyTestClass2.class
public class MyTestClass2 extends SeleniumAbstractTest {
@Test
public void myTestMethod3() {
System.out.println("myTestMethod3");
}
@Test
public void myTestMethod4() {
System.out.println("myTestMethod4");
}
}
Se avete il seguente Test Suite ...
<suite name="Suite">
<test name="Test1" >
<classes>
<class name="MyTestClass2" />
</classes>
</test>
<test name="Test2">
<classes>
<class name="MyTestClass1"/>
<class name="MyTestClass2"/>
</classes>
</test>
</suite>
... allora l'uscita sarà
BeforeSuite
BeforeTest
BeforeClass
BeforeMethod
myTestMethod3
AfterMethod
BeforeMethod
myTestMethod4
AfterMethod
AfterClass
AfterTest
BeforeTest
BeforeClass
BeforeMethod
myTestMethod1
AfterMethod
BeforeMethod
myTestMethod2
AfterMethod
AfterClass
BeforeClass
BeforeMethod
myTestMethod3
AfterMethod
BeforeMethod
myTestMethod4
AfterMethod
AfterClass
AfterTest
AfterSuite
Speranza che aiuta :)
Una volta per classe vs una volta per testcase, puoi avere diversi test in una classe, credo? – Dude
Entrambe le annotazioni usate per iniziare prima di eseguire tutti i testicoli. Questa è la somiglianza. Qualcosa di unico oltre a questo? –
hai 1 banco di prova, con 3 metodi di test: '@ BeforeClass' verrà eseguito una volta,' @ BeforeTest' verrà eseguito 3 volte. questa è la differenza. '@ BeforeClass' può essere usato per configurare l'ambiente di test,' @ BeforeTest' può essere usato per pulire i dati o impostare i dati, ecc ... – Dude