我的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)。
非常感谢!!
答案 0 :(得分:0)
执行<test>
标记时,它会运行所有方法,并从所有包含的类中注释@BeforeTest
。
看起来您需要使用@BeforeClass
和@AfterClass
注释来注释设置和拆除方法。
@BeforeTest
:带注释的方法将在任何测试方法之前运行 属于<test>
标记内的类的运行。
@AfterTest
:注释后的方法将在所有测试后运行 属于<test>
标记内的类的方法已经运行。
@BeforeClass
:带注释的方法将在第一次测试之前运行 调用当前类中的方法。
@AfterClass
:注释后的方法将在所有测试后运行 已经运行了当前类中的方法。