使用Testng作为套件运行多个selenium java测试用例
大家好,我已经用selenium编写了多个测试用例,使用使用Testng作为套件运行多个selenium java测试用例,java,selenium,selenium-webdriver,testng,Java,Selenium,Selenium Webdriver,Testng,大家好,我已经用selenium编写了多个测试用例,使用WebDriver 登录到我的门户 添加组 添加位置 以下是在我的门户上执行此任务的selenium代码 基础硒类 登录测试用例 添加组测试用例 添加位置测试用例 当我独立运行这个脚本时,它们运行得非常完美。现在我想将这个脚本作为套件运行,但我不知道从哪里开始。因为我的添加位置测试用例依赖于添加组,而添加组测试用例依赖于登录测试用例 以下是我的问题 我该怎么办?将此测试用例作为套件运行。(稍后我必须通过jar文件运行此套件) 如何指定它们之
WebDriver
提前感谢…您的问题会得到基于意见的答案,这通常是正确的。考虑一下。 我将尝试给你至少一些答案。你应该:
public class BaseSeleniumTest extends SeleneseTestBase {
protected static WebDriver driver;
@BeforeSuite
public static void firefoxSetUp() throws MalformedURLException {
driver = new FirefoxDriver();
driver.manage().window().maximize();
}
@AfterSuite
public static void closeFirefox(){
driver.quit();
}
}//End BaseSeleniumTest Class.
public class LogInTest extends BaseSeleniumTest {
LogInPage page;
public static final String BASE_URL = "http://www.mywebsite.com";
@BeforeMethod
public void beforeMethod() {
page = PageFactory.initElements(driver, LogInPage.class);
page.openPage(BASE_URL);
}
@Test(dataProvider="loginData",groups="loginGroup")
public void logIn(String email,String password) {
page.logInAs(email, password);
}
@DataProvider(name = "loginData")
public Object[][] getData() {
return new Object[][] { { "username", "password" } };
}
}//End of LogInTest Class.
public class AddGroupTest extends BaseSeleniumTest {
AddGroupPage addGroupPage;
@BeforeMethod
public void openAddGroupPage() {
addGroupPage = PageFactory.initElements(driver, AddGroupPage.class);
addGroupPage.openPage();
}
@Test(dataProvider = "getCSVData",dataProviderClass=AddGroupsDataProvider.class,dependsOnGroups={"loginGroup"},groups="addGroup")
public void AddGroup(String groupName,String displayName,String description) {
addGroupPage.addGroup(groupName, displayName, description);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
}//End of AddGroupTest Class.
public class AddLocationTest extends BaseSeleniumTest {
AddLocationPage addLocationPage;
@BeforeMethod
public void openAddLocationPage() {
addLocationPage = PageFactory.initElements(driver, AddLocationPage.class);
addLocationPage.openPage();
}
@Test(dataProvider = "getCSVData", dataProviderClass = AddLocationDataProvider.class, dependsOnGroups = { "loginGroup" }, groups = "addLocation")
public void addLocation(String locationName, String displayName,
String description, String groups) {
addLocationPage.addLocation(locationName, displayName, description,
groups.split(","));
}
}