类org.openqa.selenium.support.PageFactory源码实例Demo

下面列出了怎么用org.openqa.selenium.support.PageFactory的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: gaia   文件: SeleniumIT.java
@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");
}
 
源代码2 项目: gaia   文件: SeleniumIT.java
@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");
}
 
源代码3 项目: gaia   文件: SeleniumIT.java
@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");
}
 
源代码4 项目: gaia   文件: SeleniumIT.java
@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");
}
 
源代码5 项目: gaia   文件: SeleniumIT.java
@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");
}
 
源代码6 项目: gaia   文件: SeleniumIT.java
@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");
}
 
源代码7 项目: qashowcase   文件: HomePagePageFactory.java
public HomePagePageFactory(WebDriver driver) {
    this.driver = driver;
    this.driverWait = new WebDriverWait(driver, ScriptBase.DEFAULT_WEB_DRIVER_WAIT);
    this.driverJSExecutor = (JavascriptExecutor) driver;

    PageFactory.initElements(driver, this);
}
 
源代码8 项目: qashowcase   文件: LoginPagePageFactory.java
public LoginPagePageFactory(WebDriver driver) {
    this.driver = driver;
    this.driverWait = new WebDriverWait(driver, ScriptBase.DEFAULT_WEB_DRIVER_WAIT);
    this.driverJSExecutor = (JavascriptExecutor) driver;

    PageFactory.initElements(driver, this);
}
 
源代码9 项目: qashowcase   文件: CartPagePageFactory.java
public CartPagePageFactory(WebDriver driver) {
    this.driver = driver;
    this.driverWait = new WebDriverWait(driver, ScriptBase.DEFAULT_WEB_DRIVER_WAIT);
    this.driverJSExecutor = (JavascriptExecutor) driver;

    PageFactory.initElements(driver, this);
}
 
源代码10 项目: healenium-web   文件: FindByAnnotationTest.java
private void test(String pageName, Function<GooglePage, WebElement> elementGetter) {
    driver.get("http://www.google.com/");
    GooglePage page = PageFactory.initElements(driver, GooglePage.class);
    WebElement inputElement = elementGetter.apply(page);
    // annotation-driven element is lazy, need to do something with it
    inputElement.sendKeys("search");
    PageAwareBy locator = PageAwareBy.by(pageName, By.name("q"));
    Scored<By> newLocation = driver.getCurrentEngine().findNewLocations(locator, driver.getPageSource()).get(0);
    Assertions.assertEquals(inputElement, driver.findElement(newLocation.getValue()));
}
 
@Test
public void navigate() {
	driver.get("http://localhost:8080/p1.php");
	Page1 pg1 = PageFactory.initElements(driver, Page1.class);
	Assert.assertEquals(pg1.title(), "Page 1");
	By id = By.id("p2-link");
	WebElement element = this.driver.findElement(id);
	Assert.assertEquals(element.getText(), "Go To Page 2");
	element.click();

	Page2 pg2 = PageFactory.initElements(driver, Page2.class);
	WebElement message = pg2.message();
	Assert.assertEquals(message.getText(), "Welcome!");
}
 
public void editAPost(String presentTitle, String newTitle,
                      String description) {
    goToParticularPostPage(presentTitle);
    EditPostPage editPost = PageFactory.initElements(driver,
            EditPostPage.class);
    editPost.editPost(newTitle, description);
}
 
@Test
public void testAddNewPost() {
    AdminLoginPage loginPage =
            PageFactory.initElements(driver, AdminLoginPage.class);
    AllPostsPage allPostsPage = loginPage.login(username, password);
    allPostsPage.createANewPost("Creating New Post using PageObjects",
            "Its good to use PageObjects");
}
 
@Test
public void testEditPost() {
    AdminLoginPage loginPage =
            PageFactory.initElements(driver, AdminLoginPage.class);
    AllPostsPage allPostsPage = loginPage.login(username, password);
    allPostsPage.editAPost("Creating New Post using PageObjects",
            "Editing Post using PageObjects", "Test framework low maintenance");
}
 
@Test (dependsOnMethods = "testEditPost")
public void testDeletePost() {
    AdminLoginPage loginPage =
            PageFactory.initElements(driver, AdminLoginPage.class);
    AllPostsPage allPostsPage = loginPage.login(username, password);
    allPostsPage.deleteAPost("Editing Post using PageObjects");
}
 
@Test
public void testCountPost() {
    AdminLoginPage loginPage =
            PageFactory.initElements(driver, AdminLoginPage.class);
    AllPostsPage allPostsPage = loginPage.login(username, password);
    Assert.assertEquals(allPostsPage.getAllPostsCount(), 1);
}
 
protected AbstractPageObject() {
    Configuration configuration = ConfigurationManager.getConfiguration();
    int timeout = Integer.parseInt(configuration.timeout());

    PageFactory.initElements(new AjaxElementLocatorFactory(DriverManager.getDriver(), timeout), this);
}
 
public void createANewPost(String title, String description) {
    addNewPost.click();
    AddNewPostPage newPost = PageFactory.initElements(driver,
            AddNewPostPage.class);
    newPost.addNewPost(title, description);
}
 
public void deleteAPost(String title) {
    goToParticularPostPage(title);
    DeletePostPage deletePost =
            PageFactory.initElements(driver, DeletePostPage.class);
    deletePost.delete();
}
 
源代码20 项目: qa-automation-samples   文件: BaseScreen.java
public BaseScreen() {
    PageFactory.initElements(new AppiumFieldDecorator(DriverFactoryManager.getDriver()), this);
}
 
public AdminLoginPageUsingLoadableComponent(WebDriver driver) {
    this.driver = driver;
    PageFactory.initElements(driver, this);
}
 
public AllPostsPage login(String username, String pwd) {
    email.sendKeys(username);
    password.sendKeys(pwd);
    submit.click();
    return PageFactory.initElements(driver, AllPostsPage.class);
}
 
源代码23 项目: demo-java   文件: SauceDemoNavigation.java
public LoginPage goToLoginPage() {
    LoginPage loginPage = new LoginPage();
    PageFactory.initElements(driver, loginPage);
    driver.get(loginPage.getUrl());
    return loginPage;
}
 
源代码24 项目: demo-java   文件: SauceDemoNavigation.java
public InventoryPage getInventoryPage() {
    InventoryPage inventoryPage = new InventoryPage();
    PageFactory.initElements(driver, inventoryPage);
    return inventoryPage;
}
 
源代码25 项目: demo-java   文件: GuineaPigPage.java
public GuineaPigPage(WebDriver driver) {
    this.driver = driver;
    PageFactory.initElements(driver, this);
}
 
源代码26 项目: Spring   文件: IndexPage.java
public IndexPage transfer(double amount) {
	this.amount.sendKeys(String.valueOf(amount));
	this.submit.click();
	return PageFactory.initElements(this.driver, IndexPage.class);
}
 
源代码27 项目: Spring   文件: LoginPage.java
public Form(SearchContext context) {
	PageFactory.initElements(new DefaultElementLocatorFactory(context), this);
}
 
源代码28 项目: Spring   文件: LoginPage.java
public <T> T login(Class<T> page) {
	this.button.click();
	return PageFactory.initElements(LoginPage.this.driver, page);
}
 
源代码29 项目: Spring   文件: IndexPage.java
public IndexPage(WebDriver webDriver) {
	this.driver = webDriver;
	PageFactory.initElements(webDriver, this);
}
 
源代码30 项目: Spring   文件: IndexPage.java
public static <T> T to(WebDriver driver, Class<T> page) {
	driver.get("http://localhost:8080/");
	return (T) PageFactory.initElements(driver, page);
}
 
 类所在包
 类方法
 同包方法