这是我的班级的结构:
package com.gex.base.helper;
public class InitializeDriver extends BrowserFactory
{
HashMap<String, String> authenticationMap;
@Factory(dataProvider="authentication", dataProviderClass=DataProviderList.class)
public InitializeDriver(String userName, String uPassword)
{
authenticationMap=new HashMap<String, String>();
authenticationMap.put("UserName", userName);
authenticationMap.put("Password", uPassword);
}
@BeforeTest
public void Gexlogin()
{
LoginPF objLogin=PageFactory.initElements(BrowserFactory.driver, LoginPF.class);
System.out.println("Logging into GEx");
objLogin.loginToDGEx(authenticationMap.get("UserName"), authenticationMap.get("Password"));
System.out.println("Successfully Logged into GEx");
}
@AfterTest
public void directLogout(){
// logout from application
LogoutPF objLogoutTest = PageFactory.initElements(BrowserFactory.driver, LogoutPF.class);
objLogoutTest.LogOffGEx();
extent.flush();
driver.close();
}
}
LoginToGEx 是另一个类中的函数,例如:
public void loginToGEx(String strUsername, String strPassword)
{
username.sendKeys(strUsername)
password.sendKeys(strPassword);
loginButton.click();
System.out.println("Successfully Logged into GEx");
}
数据提供者类
public class DataProviderList {
@DataProvider(name="authentication")
public static Object[][] authentication()
{
return new Object[][] {
{"abc", "123"},
{"xyz", "456"},
};
}
}
我的问题是:在将 @Factory 与 dataprovider 一起使用之前——我的测试运行良好,但是当我使用 @Factory 注释时,什么也没有发生。在 SampleTest 类中,这个构造函数是自己创建的。这可能是导致问题的原因。
public SampleTest(String userName, String uPassword) {
super(userName, uPassword);
// TODO Auto-generated constructor stub
}
请指导如何使用@Factory 运行测试
如果我用我的@test 场景定义工厂注释,那么每次我需要登录时,还有一件事。我有很多测试用例,想在执行所有@test 场景后运行登录,然后注销并使用另一组用户名和密码重新开始。 .不是每次@test 开始时。这种情况可能吗?再次感谢
慕村225694
相关分类