我的testng.xml下有几个测试用例。我的testng.xml如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="AutomationPractice" parallel="none">
<test name="Logins">
<classes>
<class name="newMavenProject.Gmail_Login_Firefox"/>
<class name="newMavenProject.Facebook_Login_Chrome"/>
</classes>
</test> <!-- Logins -->
</suite> <!-- AutomationPractice -->
在我的两个测试中,我都有@BeforeTest,@ Test和@AfterTest注释。当我将testng.xml作为testNGSuite运行时。我看到浏览器同时打开两个测试(@BeforeTest),然后Gmail_Login测试将运行@Test注释。然后Facebook_Login_Chrome将运行其@Test注释。然后我的Gmail_Login测试将运行@AfterTest注释(关闭浏览器),然后我的Facebook_Login_Chrome测试将运行@AfterTest注释(关闭浏览器)。
如何才能使我的Gmail_Login测试完全运行(@BeforeTest,@ Test,@ AfterTest),然后我的Facebook_Login_Chrome测试完全运行(@BeforeTest,@ Test,@ AfterTest)。
非常感谢!!
当执行<test>
标记时,它会运行所有方法,从所有包含的类中注释@BeforeTest
。
看起来好像需要使用@BeforeClass
和@AfterClass
注释来注释设置和拆除方法。
@BeforeTest
:在运行属于<test>
标记内的类的任何测试方法之前,将运行带注释的方法。
@AfterTest
:在所有属于<test>
标记内的类的测试方法运行之后,将运行带注释的方法。
@BeforeClass
:在调用当前类的第一个测试方法之前,将运行带注释的方法。
@AfterClass
:在运行当前类中的所有测试方法之后,将运行带注释的方法。