File tree 5 files changed +65
-2
lines changed
main/java/selenium/pageobject
5 files changed +65
-2
lines changed Original file line number Diff line number Diff line change 1
1
package selenium .pageobject ;
2
2
3
+ import org .openqa .selenium .WebElement ;
4
+ import org .openqa .selenium .support .FindBy ;
3
5
import selenium .driver .Driver ;
4
6
import org .openqa .selenium .WebDriver ;
5
7
@@ -10,7 +12,16 @@ public HomePage(WebDriver driver) {
10
12
super (driver );
11
13
}
12
14
15
+ @ FindBy (css = "a[href='/login']" )
16
+ private WebElement loginPageLink ;
17
+
13
18
public String getPageTitle () {
14
19
return getDriver ().getTitle ();
15
20
}
21
+
22
+ public void goToLoginPage () {
23
+
24
+ waitForElement (loginPageLink );
25
+ loginPageLink .click ();
26
+ }
16
27
}
Original file line number Diff line number Diff line change
1
+ package selenium .pageobject ;
2
+
3
+ import org .openqa .selenium .WebDriver ;
4
+ import org .openqa .selenium .WebElement ;
5
+ import org .openqa .selenium .support .FindBy ;
6
+ import selenium .driver .Driver ;
7
+
8
+ public class LoginPage extends Driver {
9
+
10
+ public LoginPage (WebDriver driver ) {
11
+ super (driver );
12
+ }
13
+
14
+ @ FindBy (id = "username" )
15
+ private WebElement usernameField ;
16
+
17
+ @ FindBy (id = "password" )
18
+ private WebElement passwordField ;
19
+
20
+ @ FindBy (css = "button[type='submit']" )
21
+ private WebElement submitButton ;
22
+
23
+ public void login (String username , String password ) {
24
+ usernameField .sendKeys (username );
25
+ passwordField .sendKeys (password );
26
+ submitButton .click ();
27
+ }
28
+
29
+ public String getCurrentUrl () {
30
+ return getDriver ().getCurrentUrl ();
31
+ }
32
+ }
Original file line number Diff line number Diff line change 4
4
5
5
public class User {
6
6
private String email ;
7
+ private String username ;
7
8
private String password ;
8
9
private String gender ;
9
10
private String firstname ;
@@ -35,6 +36,10 @@ public void setEmail(final String email) {
35
36
this .email = email ;
36
37
}
37
38
39
+ public String getUsername () {return username ; }
40
+
41
+ public void setUsername (final String username ) { this .username = username ; }
42
+
38
43
public String getGender () {
39
44
return gender ;
40
45
}
Original file line number Diff line number Diff line change 6
6
import org .testng .annotations .Test ;
7
7
import selenium .pageobject .HomePage ;
8
8
import selenium .context .Base ;
9
+ import selenium .pageobject .LoginPage ;
9
10
import selenium .testdata .properties .User ;
10
11
11
12
import static org .hamcrest .MatcherAssert .assertThat ;
@@ -17,9 +18,22 @@ public class SimpleTestExamples extends Base {
17
18
@ Description ("Checks if the page title is correct" )
18
19
public void pageTitleTest () {
19
20
21
+ HomePage homePage = new HomePage (Driver .getDriver ());
22
+ assertThat (homePage .getPageTitle (), equalTo (LocaleText .get ("homePage.title" )));
23
+ }
24
+
25
+ @ Test (description = "Authentication test" )
26
+ @ Description ("Checks if user is able to log in" )
27
+ public void loginTest () {
28
+
20
29
User user = fileLoaderService .getUser ("user" );
21
30
22
31
HomePage homePage = new HomePage (Driver .getDriver ());
23
- assertThat (homePage .getPageTitle (), equalTo (LocaleText .get ("homePage.title" )));
32
+ homePage .goToLoginPage ();
33
+
34
+ LoginPage loginPage = new LoginPage (Driver .getDriver ());
35
+ loginPage .login (user .getUsername (), user .getPassword ());
36
+
37
+ assertThat (loginPage .getCurrentUrl (), equalTo (appUrl + "secure" ));
24
38
}
25
39
}
Original file line number Diff line number Diff line change 1
1
{
2
2
"gender" : " MALE" ,
3
+ "username" : " tomsmith" ,
3
4
"firstname" : " Selenium" ,
4
5
"lastname" : " TestUser" ,
5
6
"telephone" : " 0123456789" ,
6
7
7
- "password" : " 123456 " ,
8
+ "password" : " SuperSecretPassword! " ,
8
9
"address" : " Am Treptower Park 28" ,
9
10
"zip" : " 12435" ,
10
11
"city" : " Berlin" ,
You can’t perform that action at this time.
0 commit comments