下面列出了怎么用org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
@Order(1) // this test runs first as it logs the user in !
void loginPage() {
driver.get(testUrl());
driver.manage().window().setSize(new Dimension(1280,800));
var page = new LoginPage(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), page);
percy.snapshot("Login Page");
page.login("admin", "admin123");
}
@Test
void dashboardPage_showsModuleCount() {
driver.get(testUrl()+"/dashboard");
var page = new DashboardPage(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), page);
page.waitForPageLoaded();
assertEquals(3, page.modulesCount());
assertEquals(1, page.stacksCount());
assertEquals(0, page.stacksToUpdateCount());
percy.snapshot("Dashboard");
}
@Test
void modulesPage_showsModules() {
driver.get(testUrl()+"/modules");
var page = new ModulesPage(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), page);
page.waitForPageLoaded();
assertEquals(3, page.modulesCount());
percy.snapshot("Modules");
}
@Test
void modulePage_showsModuleDetails() {
driver.get(testUrl()+"/modules/e01f9925-a559-45a2-8a55-f93dc434c676");
var page = new ModulePage(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), page);
assertThat(page.moduleName()).isEqualTo("terraform-docker-mongo");
assertThat(page.moduleDescription()).contains("A sample terraform");
assertThat(page.terraformImageTag()).isEqualTo("0.11.14");
percy.snapshot("Module Details");
}
@Test
void stackPage_showsStackDetails() {
driver.get(testUrl()+"/stacks/de28a01f-257a-448d-8e1b-00e4e3a41db2/edit");
var page = new StackPage(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), page);
assertThat(page.stackName()).isEqualTo("local-mongo");
percy.snapshot("Stack Details");
}
@Test
void jobPage_showsJobDetails() {
driver.get(testUrl()+"/stacks/de28a01f-257a-448d-8e1b-00e4e3a41db2/jobs/5e856dc7-6bed-465f-abf1-02980206ab2a");
var page = new JobPage(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), page);
assertThat(page.jobDetailTitle()).isEqualTo("Job 5e856dc7-6bed-465f-abf1-02980206ab2a");
percy.snapshot("Job Details");
}
public PageBase(WebDriver driver) {
if(driver == null)
throw new IllegalArgumentException("Driver object is null");
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), this);
this.driver = driver;
}
protected AbstractPageObject() {
Configuration configuration = ConfigurationManager.getConfiguration();
int timeout = Integer.parseInt(configuration.timeout());
PageFactory.initElements(new AjaxElementLocatorFactory(DriverManager.getDriver(), timeout), this);
}