Java 如何使用TestNG在循环中运行@beforeclass@test和@Afterclass案例
在 我需要在循环中运行上述集合。例如,需要使用一个Id登录运行所有my@test用例,注销和in-loop需要使用diff Id再次登录,并需要执行相同的操作。 如何使用selenium实现这一点。 请给我一些建议Java 如何使用TestNG在循环中运行@beforeclass@test和@Afterclass案例,java,selenium,webdriver,testng,Java,Selenium,Webdriver,Testng,在 我需要在循环中运行上述集合。例如,需要使用一个Id登录运行所有my@test用例,注销和in-loop需要使用diff Id再次登录,并需要执行相同的操作。 如何使用selenium实现这一点。 请给我一些建议 提前感谢。我对Selenium和TestNG不太熟悉,但通常在单元TET中,您无法保证@Test methods的运行顺序 因此,只要有一个@Test注释,并按照您想要的顺序手动运行您想要的方法 比如说 @beforeclass login(){ open browser logi
提前感谢。我对Selenium和TestNG不太熟悉,但通常在单元TET中,您无法保证@Test methods的运行顺序 因此,只要有一个@Test注释,并按照您想要的顺序手动运行您想要的方法 比如说
@beforeclass
login(){
open browser
login();
}
@test
test1(){
Action 1;
}
@test
test2(){
Action 2;
}
@afterclass
logout(){
}
使用@BeforeMethod,而不是使用任何循环。它将在每个新测试方法之前重置模拟使用@BeforeMethod和@AfterMethod代替@BeforeClass和@AfterClass注释 @BeforeMethod-带注释的方法将在每次测试之前运行 方法 @AfterMethod-带注释的方法将在每次测试后运行 方法
查看一些基本教程我宁愿使用testng.xml文件。它有助于您理解报告 Java代码 TestNG.xml
您可以为此使用@DataProvider。请从下面读
@Test
public void test() {
login("username");
test1();
test2();
test3();
logout("username");
login("newusername");
test1();
test2();
test3();
logout("newusername");
}
@BeforeMethod
public void driverSetup()
{
// Driver setup code
}
@Test
public void loginTest1()
{
// User Login Code
}
@Test
public void loginTest2()
{
// User Login Code
}
@AfterMethod
public void driverSetup()
{
// Driver Closeup code
}
public class demo {
@BeforeClass
@Parameters({ "username", "password" })
public void login(String username, String password){
System.out.print("login with "+username+" "+password);
}
@Test
public void test1(){
System.out.print("test1");
}
@Test
public void test2(){
System.out.print("test2");
}
@AfterClass
public void logout(){
System.out.print("logout");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Regression" >
<test name="AdminUser">
<parameter name="username" value="gaurnag"/>
<parameter name="password" value="shah" />
<classes>
<class name="demo"/>
</classes>
</test>
<test name="StandardUser">
<parameter name="username" value="standard"/>
<parameter name="password" value="shah" />
<classes>
<class name="demo"/>
</classes>
</test>
</suite>
@BeforeClass
public void startbrowser(){
open browser
}
@Test(dataProvider="getData")
public void login(String username, String password){
enter_username(username);
enter_password(password);
click_on_submit
logout
}
@AfterClass
public void stop_browser(){
}
@DataProvider
public Object[][] getData()
{
Object[][] data = new Object[2][2];
// 1st row
data[0][0] ="user1";
data[0][1] = "test123";
// 2nd row
data[1][0] ="user2";
data[1][1] = "test123";
return data;
}