Skip to content

Commit 95eb32d

Browse files
committed
Merge pull request #19 from robertgates55/develop
Couple of Things
2 parents 5337d39 + 78a46b9 commit 95eb32d

File tree

13 files changed

+161
-53
lines changed

13 files changed

+161
-53
lines changed

pom.xml

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

44
<groupId>com.frameworkium</groupId>
55
<artifactId>Frameworkium-core</artifactId>
6-
<version>1.1.2</version>
6+
<version>1.1.3</version>
77

88
<name>Frameworkium-core</name>
99
<description>Frameworkium core code. Referenced by the com.frameworkium project, with example tests.</description>
@@ -135,11 +135,16 @@
135135
<artifactId>ngwebdriver</artifactId>
136136
<version>0.9.1</version>
137137
</dependency>
138-
<dependency>
139-
<groupId>net.sf.uadetector</groupId>
140-
<artifactId>uadetector-resources</artifactId>
141-
<version>2014.04</version>
142-
</dependency>
138+
<dependency>
139+
<groupId>net.sf.uadetector</groupId>
140+
<artifactId>uadetector-resources</artifactId>
141+
<version>2014.04</version>
142+
</dependency>
143+
<dependency>
144+
<groupId>org.yaml</groupId>
145+
<artifactId>snakeyaml</artifactId>
146+
<version>1.16</version>
147+
</dependency>
143148
</dependencies>
144149

145150
<repositories>

src/main/java/com/frameworkium/config/DriverType.java

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,13 @@
77
import org.apache.logging.log4j.Logger;
88
import org.openqa.selenium.WebDriver;
99
import org.openqa.selenium.remote.DesiredCapabilities;
10-
import org.openqa.selenium.remote.SessionNotFoundException;
1110

12-
import static com.frameworkium.config.SystemProperty.*;
1311
import static com.frameworkium.config.DriverSetup.useRemoteDriver;
12+
import static com.frameworkium.config.SystemProperty.*;
1413

1514
public abstract class DriverType {
1615

17-
private WebDriverWrapper webDriverWrapper;
16+
protected WebDriverWrapper webDriverWrapper;
1817

1918
protected final static Logger logger = LogManager.getLogger(DriverType.class);
2019

@@ -74,19 +73,12 @@ public void tearDownDriver() {
7473
}
7574

7675
/**
77-
* Reset the browser session based on whether it's been reset before
76+
* Reset the browser based on whether it's been reset before
7877
*/
79-
public boolean clearSession(boolean requiresReset) {
78+
public boolean resetBrowser(boolean requiresReset) {
8079
if (requiresReset) {
81-
try {
82-
if (DriverType.isNative()) {
83-
webDriverWrapper.getWrappedAppiumDriver().resetApp();
84-
} else {
85-
webDriverWrapper.manage().deleteAllCookies();
86-
}
87-
} catch (SessionNotFoundException e) {
88-
logger.error("Session quit unexpectedly.", e);
89-
}
80+
tearDownDriver();
81+
instantiate();
9082
}
9183
return true;
9284
}

src/main/java/com/frameworkium/config/SystemProperty.java

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package com.frameworkium.config;
22

3+
import org.yaml.snakeyaml.Yaml;
4+
5+
import java.util.Map;
6+
37
public enum SystemProperty {
48

59
BROWSER("browser"),
@@ -18,18 +22,20 @@ public enum SystemProperty {
1822
RESULT_VERSION("resultVersion"),
1923
ZAPI_CYCLE_REGEX("zapiCycleRegEx"),
2024
JQL_QUERY("jqlQuery"),
25+
JIRA_USERNAME("jiraUsername"),
26+
JIRA_PASSWORD("jiraPassword"),
2127
SUT_NAME("sutName"),
2228
SUT_VERSION("sutVersion"),
2329
JIRA_RESULT_FIELDNAME("jiraResultFieldName"),
2430
JIRA_RESULT_TRANSITION("jiraResultTransition"),
2531
MAXIMISE("maximise"),
2632
RESOLUTION("resolution");
2733

28-
2934
private String value;
35+
private static Map configMap = null;
3036

31-
private SystemProperty(String key) {
32-
this.value = System.getProperty(key);
37+
SystemProperty(String key) {
38+
this.value = retrieveValue(key);
3339
}
3440

3541
public String getValue() {
@@ -39,4 +45,22 @@ public String getValue() {
3945
public boolean isSpecified() {
4046
return null != value && !value.isEmpty();
4147
}
48+
49+
private String retrieveValue(String key) {
50+
if (System.getProperty(key) != null) {
51+
return System.getProperty(key);
52+
}
53+
if (System.getProperty("config") != null && configMap == null) {
54+
configMap = (Map) new Yaml().load(
55+
ClassLoader.getSystemResourceAsStream(System.getProperty("config"))
56+
);
57+
}
58+
if (configMap != null) {
59+
Object configValue = configMap.get(key);
60+
if (configValue != null) {
61+
return configValue.toString();
62+
}
63+
}
64+
return null;
65+
}
4266
}

src/main/java/com/frameworkium/config/drivers/FirefoxImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,4 @@ public DesiredCapabilities getDesiredCapabilities() {
1616
public WebDriver getWebDriverObject(DesiredCapabilities capabilities) {
1717
return new FirefoxDriver(capabilities);
1818
}
19-
2019
}

src/main/java/com/frameworkium/config/drivers/InternetExporerImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,4 @@ public DesiredCapabilities getDesiredCapabilities() {
2121
public WebDriver getWebDriverObject(DesiredCapabilities capabilities) {
2222
return new InternetExplorerDriver(capabilities);
2323
}
24-
2524
}

src/main/java/com/frameworkium/config/remotes/Sauce.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.frameworkium.config.remotes;
22

3-
import static com.frameworkium.config.SystemProperty.SAUCE;
3+
import com.saucelabs.common.SauceOnDemandAuthentication;
4+
import com.saucelabs.common.SauceOnDemandSessionIdProvider;
5+
import com.saucelabs.saucerest.SauceREST;
46

57
import java.io.File;
68
import java.io.IOException;
@@ -9,9 +11,7 @@
911
import java.util.HashMap;
1012
import java.util.Map;
1113

12-
import com.saucelabs.common.SauceOnDemandAuthentication;
13-
import com.saucelabs.common.SauceOnDemandSessionIdProvider;
14-
import com.saucelabs.saucerest.SauceREST;
14+
import static com.frameworkium.config.SystemProperty.SAUCE;
1515

1616
public class Sauce {
1717

src/main/java/com/frameworkium/jira/Config.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.frameworkium.jira;
22

3+
import static com.frameworkium.config.SystemProperty.JIRA_PASSWORD;
4+
import static com.frameworkium.config.SystemProperty.JIRA_USERNAME;
5+
36
public class Config {
47

58
public static final boolean FailTestOnlyIfAssertionError = true;
69

7-
public static final String jiraUsername = "automation";
8-
public static final String jiraPassword = "password";
10+
public static final String jiraUsername = JIRA_USERNAME.getValue();
11+
public static final String jiraPassword = JIRA_PASSWORD.getValue();
912

1013
public static final String jiraRestURI = "/rest/api/latest";
1114
public static final String zapiRestURI = "/rest/zapi/latest";

src/main/java/com/frameworkium/tests/internal/BaseTest.java

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,28 @@
11
package com.frameworkium.tests.internal;
22

3-
import java.lang.reflect.Method;
4-
import java.util.ArrayList;
5-
import java.util.List;
6-
3+
import com.frameworkium.capture.ScreenshotCapture;
74
import com.frameworkium.config.DriverSetup;
85
import com.frameworkium.config.DriverType;
6+
import com.frameworkium.config.WebDriverWrapper;
7+
import com.frameworkium.listeners.*;
8+
import com.frameworkium.reporting.AllureProperties;
9+
import com.saucelabs.common.SauceOnDemandAuthentication;
10+
import com.saucelabs.common.SauceOnDemandSessionIdProvider;
11+
import com.saucelabs.testng.SauceOnDemandAuthenticationProvider;
912
import org.apache.logging.log4j.LogManager;
1013
import org.apache.logging.log4j.Logger;
1114
import org.openqa.selenium.JavascriptExecutor;
1215
import org.openqa.selenium.remote.SessionId;
13-
import org.testng.annotations.*;
14-
16+
import org.testng.annotations.AfterSuite;
17+
import org.testng.annotations.BeforeMethod;
18+
import org.testng.annotations.BeforeSuite;
19+
import org.testng.annotations.Listeners;
1520
import ru.yandex.qatools.allure.annotations.Issue;
1621
import ru.yandex.qatools.allure.annotations.TestCaseId;
1722

18-
import com.frameworkium.capture.ScreenshotCapture;
19-
import com.frameworkium.config.WebDriverWrapper;
20-
import com.frameworkium.listeners.CaptureListener;
21-
import com.frameworkium.listeners.MethodInterceptor;
22-
import com.frameworkium.listeners.ResultLoggerListener;
23-
import com.frameworkium.listeners.SauceLabsListener;
24-
import com.frameworkium.listeners.ScreenshotListener;
25-
import com.frameworkium.listeners.TestListener;
26-
import com.frameworkium.reporting.AllureProperties;
27-
import com.saucelabs.common.SauceOnDemandAuthentication;
28-
import com.saucelabs.common.SauceOnDemandSessionIdProvider;
29-
import com.saucelabs.testng.SauceOnDemandAuthenticationProvider;
23+
import java.lang.reflect.Method;
24+
import java.util.ArrayList;
25+
import java.util.List;
3026

3127
@Listeners({CaptureListener.class, ScreenshotListener.class, MethodInterceptor.class, SauceLabsListener.class,
3228
TestListener.class, ResultLoggerListener.class})
@@ -120,7 +116,7 @@ private static void initialiseNewScreenshotCapture(Method testMethod) {
120116
* Ran as part of the initialiseDriverObject, configures parts of the driver
121117
*/
122118
private static void configureDriverBasedOnParams() {
123-
requiresReset.set(driverType.get().clearSession(requiresReset.get()));
119+
requiresReset.set(driverType.get().resetBrowser(requiresReset.get()));
124120
driverType.get().maximiseBrowserWindow();
125121
setUserAgent();
126122
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
browser:
2+
browserVersion:
3+
platform: iOS
4+
platformVersion:
5+
device: iPad Air
6+
captureURL:
7+
gridURL:
8+
build:
9+
appPath:
10+
sauce:
11+
browserStack: true
12+
jiraURL:
13+
spiraURL:
14+
resultVersion:
15+
zapiCycleRegEx:
16+
jqlQuery:
17+
sutName:
18+
sutVersion:
19+
jiraResultFieldName:
20+
jiraResultTransition:
21+
jiraUsername:
22+
jiraPassword:
23+
maximise:
24+
resolution:

src/main/resources/Firefox.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
browser: Firefox
2+
browserVersion:
3+
platform:
4+
platformVersion:
5+
device:
6+
captureURL:
7+
gridURL:
8+
build:
9+
appPath:
10+
sauce:
11+
browserStack:
12+
jiraURL:
13+
spiraURL:
14+
resultVersion:
15+
zapiCycleRegEx:
16+
jqlQuery:
17+
sutName:
18+
sutVersion:
19+
jiraResultFieldName:
20+
jiraResultTransition:
21+
jiraUsername:
22+
jiraPassword:
23+
maximise:
24+
resolution:

0 commit comments

Comments
 (0)