File tree 10 files changed +32
-27
lines changed
test/java/org/sayem/pages
10 files changed +32
-27
lines changed Original file line number Diff line number Diff line change 29
29
</properties >
30
30
31
31
<dependencies >
32
+ <dependency >
33
+ <groupId >org.reflections</groupId >
34
+ <artifactId >reflections</artifactId >
35
+ <version >0.9.11</version >
36
+ </dependency >
37
+ <dependency >
38
+ <groupId >com.google.dagger</groupId >
39
+ <artifactId >dagger</artifactId >
40
+ <version >2.24</version >
41
+ </dependency >
32
42
<dependency >
33
43
<groupId >org.seleniumhq.selenium</groupId >
34
44
<artifactId >selenium-java</artifactId >
Original file line number Diff line number Diff line change 2
2
3
3
import org .openqa .selenium .WebDriver ;
4
4
5
- import java .net .URL ;
6
- import java .util .function .Supplier ;
7
-
8
5
/**
9
6
* Created by sayem on 08/02/17.
10
7
*/
Original file line number Diff line number Diff line change 12
12
/**
13
13
* Created by sayem on 08/02/17.
14
14
*/
15
+
15
16
public interface Browser <T extends WebDriver > {
16
17
17
18
T driver ();
Original file line number Diff line number Diff line change 14
14
/**
15
15
* Created by sayem on 08/02/17.
16
16
*/
17
- public class BrowserAdapter < T extends WebDriver > implements Browser <T > {
17
+ public class BrowserAdapter implements Browser <WebDriver > {
18
18
19
- private T driver ;
20
- private ElementAdapter < T > element ;
19
+ private WebDriver driver ;
20
+ private ElementAdapter element ;
21
21
private DateTimePickerAdapter dateTime ;
22
22
23
- public BrowserAdapter (T driver ) {
23
+ BrowserAdapter (WebDriver driver ) {
24
24
this .driver = driver ;
25
- this .element = new ElementAdapter <>( this );
25
+ this .element = new ElementAdapter ( driver );
26
26
this .dateTime = new DateTimePickerAdapter ();
27
27
}
28
28
29
29
@ Override
30
- public T driver () {
30
+ public WebDriver driver () {
31
31
return driver ;
32
32
}
33
33
Original file line number Diff line number Diff line change 3
3
import io .github .bonigarcia .wdm .WebDriverManager ;
4
4
import org .openqa .selenium .chrome .ChromeDriver ;
5
5
6
- import java .net .URL ;
7
- import java .util .function .Supplier ;
8
-
9
6
public class ChromeBrowser implements Adapter <ChromeDriver > {
10
7
@ Override
11
- public Browser < ChromeDriver > browser () {
8
+ public Browser browser () {
12
9
WebDriverManager .chromedriver ().setup ();
13
- return new BrowserAdapter <> (new ChromeDriver ());
10
+ return new BrowserAdapter (new ChromeDriver ());
14
11
}
15
12
}
Original file line number Diff line number Diff line change 6
6
public class FirefoxBrowser implements Adapter <FirefoxDriver > {
7
7
8
8
@ Override
9
- public Browser < FirefoxDriver > browser () {
9
+ public Browser browser () {
10
10
WebDriverManager .firefoxdriver ().setup ();
11
- return new BrowserAdapter <> (new FirefoxDriver ());
11
+ return new BrowserAdapter (new FirefoxDriver ());
12
12
}
13
13
}
Original file line number Diff line number Diff line change 1
1
package org .sayem .config ;
2
2
3
- import org .openqa .selenium .WebDriver ;
4
3
import org .sayem .browser .Browser ;
5
4
import org .sayem .listener .BrowserListener ;
6
5
import org .testng .annotations .AfterMethod ;
7
6
import org .testng .annotations .Listeners ;
8
7
9
8
import java .util .Arrays ;
10
9
10
+ import static java .lang .System .*;
11
11
import static org .sayem .browser .BrowserType .values ;
12
12
13
13
@ Listeners ({BrowserListener .class })
14
14
public class TestBase {
15
15
16
- private final String browserEnv = System .getProperty ("browser" );
17
- private Browser <? extends WebDriver > browser ;
16
+ private Browser <?> browser ;
18
17
19
18
@ AfterMethod
20
19
public void tearDown () {
21
20
browser .driver ().close ();
22
21
}
23
22
24
- @ SuppressWarnings ("unchecked" )
25
23
protected <T > T getDriver () {
26
24
browser = Arrays .asList (values ())
27
25
.parallelStream ()
28
- .filter (s -> s .name ().equalsIgnoreCase (browserEnv ))
26
+ .filter (s -> s .name ()
27
+ .equalsIgnoreCase (getProperty ("browser" )))
29
28
.findFirst ().get ().driver .get ().browser ();
30
29
return (T ) browser ;
31
30
}
Original file line number Diff line number Diff line change 10
10
/**
11
11
* Created by sayem on 08/02/17.
12
12
*/
13
- public class ElementAdapter < T extends WebDriver > implements Element {
13
+ public class ElementAdapter implements Element {
14
14
15
- private T driver ;
15
+ private WebDriver driver ;
16
16
17
- public ElementAdapter (BrowserAdapter < T > driver ) {
18
- this .driver = driver . driver () ;
17
+ public ElementAdapter (WebDriver driver ) {
18
+ this .driver = driver ;
19
19
}
20
20
21
21
@ Override
Original file line number Diff line number Diff line change 1
1
package org .sayem .pages ;
2
2
3
+ import org .openqa .selenium .WebDriver ;
3
4
import org .sayem .browser .Browser ;
4
5
5
6
public class HomePage {
6
7
7
- private Browser browser ;
8
+ private Browser < WebDriver > browser ;
8
9
9
- public HomePage (Browser browser ) {
10
+ public HomePage (Browser < WebDriver > browser ) {
10
11
this .browser = browser ;
11
12
}
12
13
You can’t perform that action at this time.
0 commit comments