Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
selenium-pom-practice
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ben Anderson
selenium-pom-practice
Commits
0a43af69
Commit
0a43af69
authored
Apr 13, 2021
by
Ben Anderson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented account details test
parent
5ca04c6a
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
79 additions
and
27 deletions
+79
-27
.gitignore
.gitignore
+1
-0
AccountPage.java
src/main/java/com/nisum/banderson/AccountPage.java
+26
-0
Login.java
src/main/java/com/nisum/banderson/Login.java
+21
-0
Test.java
src/test/java/com/nisum/banderson/Test.java
+31
-21
configuration.properties
src/test/resources/configuration.properties
+0
-6
AccountPage.class
target/classes/com/nisum/banderson/AccountPage.class
+0
-0
Login.class
target/classes/com/nisum/banderson/Login.class
+0
-0
Test.class
target/test-classes/com/nisum/banderson/Test.class
+0
-0
No files found.
.gitignore
0 → 100644
View file @
0a43af69
allure-results/
\ No newline at end of file
src/main/java/com/nisum/banderson/AccountPage.java
View file @
0a43af69
package
com
.
nisum
.
banderson
;
import
org.openqa.selenium.WebDriver
;
import
org.openqa.selenium.WebElement
;
import
org.openqa.selenium.support.FindBy
;
import
org.openqa.selenium.support.PageFactory
;
import
org.openqa.selenium.support.ui.ExpectedConditions
;
import
org.openqa.selenium.support.ui.WebDriverWait
;
public
class
AccountPage
extends
Page
{
@FindBy
(
xpath
=
"//*[@id=\"uca-root\"]/main/div/div/div[2]/div/p[1]"
)
WebElement
heading
;
@FindBy
(
id
=
"input-firstName"
)
WebElement
firstNameInput
;
@FindBy
(
id
=
"input-lastName"
)
WebElement
lastNameInput
;
@FindBy
(
id
=
"emailIdaccount"
)
WebElement
emailInput
;
public
AccountPage
(
WebDriver
driver
)
{
super
(
driver
);
}
public
void
navigateTo
()
{
new
Login
(
getDriver
()).
login
();
Header
header
=
new
Header
(
getDriver
());
Sidebar
sidebar
=
new
Sidebar
(
getDriver
());
PageFactory
.
initElements
(
getDriver
(),
sidebar
);
PageFactory
.
initElements
(
getDriver
(),
this
);
header
.
getOpenSidebarButton
().
click
();
sidebar
.
accountButton
.
click
();
}
}
src/main/java/com/nisum/banderson/Login.java
View file @
0a43af69
...
...
@@ -3,6 +3,9 @@ package com.nisum.banderson;
import
org.openqa.selenium.By
;
import
org.openqa.selenium.WebDriver
;
import
org.openqa.selenium.WebElement
;
import
org.openqa.selenium.support.PageFactory
;
import
org.openqa.selenium.support.ui.ExpectedConditions
;
import
org.openqa.selenium.support.ui.WebDriverWait
;
public
class
Login
extends
Page
{
...
...
@@ -22,5 +25,23 @@ public class Login extends Page {
return
getDriver
().
findElement
(
By
.
id
((
"btnSignIn"
)));
}
public
void
login
()
{
WebDriver
driver
=
getDriver
();
Header
header
=
new
Header
(
driver
);
Sidebar
sidebar
=
new
Sidebar
(
driver
);
Login
login
=
new
Login
(
driver
);
PageFactory
.
initElements
(
driver
,
sidebar
);
header
.
getOpenSidebarButton
().
click
();
sidebar
.
openModalButton
.
click
();
login
.
getEmailInput
().
sendKeys
(
PropertyManager
.
getInstance
().
getEmail
());
login
.
getPasswordInput
().
sendKeys
(
PropertyManager
.
getInstance
().
getPassword
());
login
.
getSignInButton
().
click
();
new
WebDriverWait
(
driver
,
20
)
.
until
(
ExpectedConditions
.
textToBe
(
By
.
className
(
"menu-nav__profile-button-sign-in-up"
),
"Account"
));
}
}
src/test/java/com/nisum/banderson/Test.java
View file @
0a43af69
...
...
@@ -3,7 +3,6 @@ package com.nisum.banderson;
import
org.junit.jupiter.api.AfterEach
;
import
org.junit.jupiter.api.Assertions
;
import
org.junit.jupiter.api.BeforeEach
;
import
org.openqa.selenium.By
;
import
org.openqa.selenium.Platform
;
import
org.openqa.selenium.WebDriver
;
import
org.openqa.selenium.chrome.ChromeDriver
;
...
...
@@ -38,7 +37,7 @@ public class Test {
System
.
out
.
printf
(
"Running WebDriver on %s browser running on %s platform..."
,
PropertyManager
.
getInstance
().
getBrowser
(),
platform
);
driver
.
manage
().
window
().
fullscreen
();
driver
.
manage
().
window
().
maximize
();
driver
.
navigate
().
to
(
url
);
}
...
...
@@ -50,34 +49,45 @@ public class Test {
@org
.
junit
.
jupiter
.
api
.
Test
public
void
login
()
throws
Exception
{
Header
header
=
new
Header
(
driver
);
Sidebar
sidebar
=
new
Sidebar
(
driver
);
Login
login
=
new
Login
(
driver
);
PageFactory
.
initElements
(
driver
,
sidebar
);
Header
header
=
new
Header
(
driver
);
login
.
login
();
header
.
getOpenSidebarButton
().
click
();
sidebar
.
openModalButton
.
click
();
login
.
getEmailInput
().
sendKeys
(
PropertyManager
.
getInstance
().
getEmail
());
login
.
getPasswordInput
().
sendKeys
(
PropertyManager
.
getInstance
().
getPassword
());
login
.
getSignInButton
().
click
();
new
WebDriverWait
(
driver
,
20
)
.
until
(
ExpectedConditions
.
textToBe
(
By
.
className
(
"menu-nav__profile-button-sign-in-up"
),
"Account"
));
Assertions
.
assertEquals
(
"Account"
,
header
.
getOpenSidebarButton
().
getText
());
}
@org
.
junit
.
jupiter
.
api
.
Test
public
void
testNavigation
()
{
Header
header
=
new
Header
(
driver
);
Sidebar
sidebar
=
new
Sidebar
(
driver
);
PageFactory
.
initElements
(
sidebar
.
getDriver
(),
sidebar
);
header
.
getOpenSidebarButton
().
click
();
sidebar
.
accountButton
.
click
();
AccountPage
accountPage
=
new
AccountPage
(
driver
);
accountPage
.
navigateTo
();
Assertions
.
assertEquals
(
"Account Settings | albertsons"
,
driver
.
getTitle
());
}
@org
.
junit
.
jupiter
.
api
.
Test
public
void
confirmAccountDetails
()
throws
InterruptedException
{
AccountPage
accountPage
=
new
AccountPage
(
driver
);
PageFactory
.
initElements
(
driver
,
accountPage
);
accountPage
.
navigateTo
();
new
WebDriverWait
(
driver
,
20
)
.
until
(
ExpectedConditions
.
titleIs
(
"Account Settings | albertsons"
));
Thread
.
sleep
(
3000
);
Assertions
.
assertAll
(
()
->
Assertions
.
assertEquals
(
PropertyManager
.
getInstance
().
getFirstName
(),
accountPage
.
firstNameInput
.
getAttribute
(
"value"
)
),
()
->
Assertions
.
assertEquals
(
PropertyManager
.
getInstance
().
getLastName
(),
accountPage
.
lastNameInput
.
getAttribute
(
"value"
)
),
()
->
Assertions
.
assertEquals
(
PropertyManager
.
getInstance
().
getEmail
(),
accountPage
.
emailInput
.
getAttribute
(
"value"
)
)
);
}
}
src/test/resources/configuration.properties
deleted
100644 → 0
View file @
5ca04c6a
first_name
=
Ben
last_name
=
Anderson
email
=
password
=
browser
=
chrome
\ No newline at end of file
target/classes/com/nisum/banderson/AccountPage.class
View file @
0a43af69
No preview for this file type
target/classes/com/nisum/banderson/Login.class
View file @
0a43af69
No preview for this file type
target/test-classes/com/nisum/banderson/Test.class
View file @
0a43af69
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment