Skip to content

Commit 73d97b1

Browse files
committed
test organization
1 parent b55cf53 commit 73d97b1

File tree

7 files changed

+105
-43
lines changed

7 files changed

+105
-43
lines changed

resources/test.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
################
22
# MY APP #
33
################
4-
site.bookstore.url=file:///Users/angie/workspace/test_automation_u/visual_validation_course/website/index.html
4+
site.bookstore.url=file:///Users/angie/workspace/automated_visual_validation/website/index.html
55
site.largedom.url=https://the-internet.herokuapp.com/large
66
site.dynamic.url=https://the-internet.herokuapp.com/dynamic_content
77
site.frames.url=https://the-internet.herokuapp.com/nested_frames
8+
sites.tables.url=https://the-internet.herokuapp.com/tables
89

910
################
1011
# SELENIUM #

src/test/java/DynamicTests.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@
44

55
public class DynamicTests extends BaseTests {
66

7-
private String APP_NAME = "The Internet";
8-
97
@Test
108
public void testDynamicContent(){
119
driver.get(System.getProperty("site.dynamic.url"));
12-
eyes.setMatchLevel(MatchLevel.LAYOUT);
13-
validateWindow(APP_NAME);
10+
eyesManager.getEyes().setMatchLevel(MatchLevel.LAYOUT);
11+
eyesManager.validateWindow();
1412
}
1513
}

src/test/java/ScrollTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33

44
public class ScrollTests extends BaseTests {
55

6-
private String APP_NAME = "The Internet";
7-
86
@Test
97
public void testLargeDom() {
108
driver.get(System.getProperty("site.largedom.url"));
11-
validateWindow(APP_NAME);
9+
eyesManager.getEyes().setForceFullPageScreenshot(true);
10+
eyesManager.validateWindow();
1211
}
1312
}

src/test/java/SearchTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
public class SearchTests extends BaseTests {
99

10-
private String APP_NAME = "Automation Bookstore";
1110
private SearchPage page = new SearchPage(driver);
1211

1312
@BeforeClass
@@ -19,14 +18,14 @@ public static void launchApp(){
1918
public void testSearchByFullTitle(){
2019
String title = "Agile Testing";
2120
page.search(title);
22-
validateWindow(APP_NAME);
21+
eyesManager.validateWindow();
2322
}
2423

2524
@Test
2625
public void testSearchByFullTitle_Element(){
2726
String title = "Agile Testing";
2827
page.search(title);
29-
validateElement(By.id("pid3"));
28+
eyesManager.validateElement(By.id("pid3"));
3029
Assert.assertEquals("Number of books returned",
3130
1, page.getNumberOfVisibleBooks());
3231
}

src/test/java/TheInternetTests.java

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,45 @@
11
import base.BaseTests;
2+
import org.junit.BeforeClass;
23
import org.junit.Test;
4+
import pages.SortableDataTablesPage;
35

46
public class TheInternetTests extends BaseTests {
57

8+
private SortableDataTablesPage page = new SortableDataTablesPage(driver);
9+
10+
@BeforeClass
11+
public static void startVisualTestSuite(){
12+
eyesManager.setBatchName("Sort Table");
13+
driver.get(System.getProperty("sites.tables.url"));
14+
}
15+
16+
@Test
17+
public void testSortByLastName(){
18+
page.sortLastNameColumn();
19+
eyesManager.validateElement(page.getTableElementLocator());
20+
}
21+
22+
@Test
23+
public void testSortByFirstName(){
24+
page.sortFirstNameColumn();
25+
eyesManager.validateElement(page.getTableElementLocator());
26+
}
27+
28+
@Test
29+
public void testSortByEmail(){
30+
page.sortEmailColumn();
31+
eyesManager.validateElement(page.getTableElementLocator());
32+
}
33+
34+
@Test
35+
public void testSortByDueDate(){
36+
page.sortDueColumn();
37+
eyesManager.validateElement(page.getTableElementLocator());
38+
}
39+
640
@Test
7-
public void testBottomFrame(){
8-
driver.get(System.getProperty("site.frames.url"));
9-
validateFrame("frame-bottom");
41+
public void testSortByWebsite(){
42+
page.sortWebsiteColumn();
43+
eyesManager.validateElement(page.getTableElementLocator());
1044
}
1145
}

src/test/java/base/BaseTests.java

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package base;
22

3-
import com.applitools.eyes.selenium.Eyes;
43
import org.junit.AfterClass;
54
import org.junit.BeforeClass;
6-
import org.openqa.selenium.By;
5+
76
import org.openqa.selenium.WebDriver;
87
import org.openqa.selenium.chrome.ChromeDriver;
98

9+
1010
import java.io.File;
1111
import java.io.FileInputStream;
1212
import java.util.Properties;
@@ -15,7 +15,7 @@
1515
public class BaseTests {
1616

1717
protected static WebDriver driver;
18-
protected static Eyes eyes;
18+
protected static EyesManager eyesManager;
1919

2020
@BeforeClass
2121
public static void setUp() {
@@ -28,37 +28,13 @@ public static void setUp() {
2828
}
2929

3030
driver = new ChromeDriver();
31-
initiateEyes();
31+
eyesManager = new EyesManager(driver, "The Internet");
3232
}
3333

3434
@AfterClass
3535
public static void tearDown() {
3636
driver.quit();
37-
eyes.abortIfNotClosed();
38-
}
39-
40-
private static void initiateEyes(){
41-
eyes = new Eyes();
42-
eyes.setApiKey(System.getProperty("applitools.api.key"));
43-
}
44-
45-
public void validateWindow(String appName){
46-
eyes.open(driver, appName, Thread.currentThread().getStackTrace()[2].getMethodName());
47-
eyes.setForceFullPageScreenshot(true);
48-
eyes.checkWindow();
49-
eyes.close();
50-
}
51-
52-
public void validateElement(By locator){
53-
eyes.open(driver, "Automation Bookstore", Thread.currentThread().getStackTrace()[2].getMethodName());
54-
eyes.checkElement(locator);
55-
eyes.close();
56-
}
57-
58-
public void validateFrame(String locator){
59-
eyes.open(driver, "The Internet", Thread.currentThread().getStackTrace()[2].getMethodName());
60-
eyes.checkFrame(locator);
61-
eyes.close();
37+
eyesManager.abort();
6238
}
6339

6440
}

src/test/java/base/EyesManager.java

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package base;
2+
3+
import com.applitools.eyes.BatchInfo;
4+
import com.applitools.eyes.selenium.Eyes;
5+
import org.openqa.selenium.By;
6+
import org.openqa.selenium.WebDriver;
7+
8+
public class EyesManager {
9+
10+
private Eyes eyes;
11+
private String appName;
12+
private WebDriver driver;
13+
14+
public EyesManager(WebDriver driver, String appName){
15+
this.driver = driver;
16+
this.appName = appName;
17+
18+
eyes = new Eyes();
19+
eyes.setApiKey(System.getProperty("applitools.api.key"));
20+
}
21+
22+
public void setBatchName(String batchName){
23+
eyes.setBatch(new BatchInfo(batchName));
24+
}
25+
26+
public void setTestGroup(String group){
27+
eyes.addProperty("Test Group", group);
28+
}
29+
30+
public void validateWindow(){
31+
eyes.open(driver, appName, Thread.currentThread().getStackTrace()[2].getMethodName());
32+
eyes.checkWindow();
33+
eyes.close();
34+
}
35+
36+
public void validateElement(By locator){
37+
eyes.open(driver, appName, Thread.currentThread().getStackTrace()[2].getMethodName());
38+
eyes.checkElement(locator);
39+
eyes.close();
40+
}
41+
42+
public void validateFrame(String locator){
43+
eyes.open(driver, appName, Thread.currentThread().getStackTrace()[2].getMethodName());
44+
eyes.checkFrame(locator);
45+
eyes.close();
46+
}
47+
48+
public void abort(){
49+
eyes.abortIfNotClosed();
50+
}
51+
52+
public Eyes getEyes(){
53+
return eyes;
54+
}
55+
}

0 commit comments

Comments
 (0)