Skip to content

Commit 747fa17

Browse files
page factory implementation
1 parent 20c33a2 commit 747fa17

29 files changed

+324
-26
lines changed

.idea/encodings.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations.xml

Lines changed: 0 additions & 10 deletions
This file was deleted.

.idea/uiDesigner.xml

Lines changed: 124 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package constants;
2+
3+
public class HomePageConstants
4+
{
5+
public static final String HOME_PAGE_TITLE = "Your Store";
6+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package constants;
2+
3+
public class LoginPageConstants
4+
{
5+
public static final String EMAIL = "viper@mailinator.com";
6+
public static final String PASSWORD = "viper";
7+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package pages;
2+
3+
import com.microsoft.playwright.Page;
4+
5+
public class AccountPage
6+
{
7+
private Page page;
8+
9+
public AccountPage(Page page)
10+
{
11+
this.page = page;
12+
}
13+
14+
15+
16+
}

src/main/java/pages/HomePage.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ public class HomePage
1111
private String searchBar = "//input[@name='search']";
1212
private String searchBtn = "(//input[@name='search']//following::button)[1]";
1313
private String searchedItemName = "//h1";
14+
private String myAccount = "//span[text()='My Account']";
15+
private String loginBtn = "//a[text()='Login']";
1416

1517

1618
//Constructor to capture Page
@@ -37,5 +39,11 @@ public String searchItem(String itemToBeSearched)
3739
return itemName;
3840
}
3941

42+
public LoginPage goToLoginPage()
43+
{
44+
page.click(myAccount);
45+
page.click(loginBtn);
46+
return new LoginPage(page);
47+
}
4048

4149
}

src/main/java/pages/LoginPage.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package pages;
2+
3+
import com.microsoft.playwright.Page;
4+
5+
public class LoginPage
6+
{
7+
private Page page;
8+
9+
//locators
10+
private String emailIdfield = "//input[@name='email']";
11+
private String passwordfield = "//input[@name='password']";
12+
private String loginBtn = "//input[@value='Login']";
13+
14+
15+
public LoginPage(Page page)
16+
{
17+
this.page = page;
18+
}
19+
20+
public AccountPage loginUser(String email, String password)
21+
{
22+
page.fill(emailIdfield, email);
23+
page.fill(passwordfield, password);
24+
page.click(loginBtn);
25+
return new AccountPage(page);
26+
}
27+
28+
}

0 commit comments

Comments
 (0)