diff --git a/01-init/pom.xml b/01-init/pom.xml
old mode 100644
new mode 100755
index a82b19a..dd4e948
--- a/01-init/pom.xml
+++ b/01-init/pom.xml
@@ -4,7 +4,7 @@
com.seleniumguidebook.examples
seleniumguidebook-examples
jar
- 1.0-SNAPSHOT
+ 1.2
seleniumguidebook-examples
http://maven.apache.org
@@ -20,7 +20,7 @@
org.seleniumhq.selenium
selenium-java
- 3.3.1
+ 3.5.3
diff --git a/01-init/src/test/java/init.java b/01-init/src/test/java/init.java
new file mode 100644
index 0000000..180b77c
--- /dev/null
+++ b/01-init/src/test/java/init.java
@@ -0,0 +1,2 @@
+public class init {
+}
diff --git a/02-your-first-test/pom.xml b/02-your-first-test/pom.xml
old mode 100644
new mode 100755
index 2c3828c..a709f0d
--- a/02-your-first-test/pom.xml
+++ b/02-your-first-test/pom.xml
@@ -4,7 +4,7 @@
com.seleniumguidebook.examples
seleniumguidebook-example-02
jar
- 1.0-SNAPSHOT
+ 1.2
seleniumguidebook-example-02
http://maven.apache.org
@@ -20,7 +20,7 @@
org.seleniumhq.selenium
selenium-java
- 3.3.1
+ 3.5.3
diff --git a/02-your-first-test/src/test/java/tests/TestLogin.java b/02-your-first-test/src/test/java/tests/TestLogin.java
index 4cfb235..fe3b1ae 100644
--- a/02-your-first-test/src/test/java/tests/TestLogin.java
+++ b/02-your-first-test/src/test/java/tests/TestLogin.java
@@ -10,14 +10,13 @@
public class TestLogin {
private WebDriver driver;
-
@Before
public void setUp() {
// Windows
- //System.setProperty("webdriver.chrome.driver", "C:\\tools\\selenium\\chromedriver.exe");
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver.exe");
// Mac
- //System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver");
driver = new ChromeDriver();
}
diff --git a/03-your-first-test-assertion/pom.xml b/03-your-first-test-assertion/pom.xml
old mode 100644
new mode 100755
index 232ff9a..2084acd
--- a/03-your-first-test-assertion/pom.xml
+++ b/03-your-first-test-assertion/pom.xml
@@ -4,7 +4,7 @@
com.seleniumguidebook.examples
seleniumguidebook-example-03
jar
- 1.0-SNAPSHOT
+ 1.2
seleniumguidebook-example-03
http://maven.apache.org
@@ -20,7 +20,7 @@
org.seleniumhq.selenium
selenium-java
- 3.3.1
+ 3.5.3
diff --git a/03-your-first-test-assertion/src/test/java/tests/TestLogin.java b/03-your-first-test-assertion/src/test/java/tests/TestLogin.java
index c911a99..8623284 100644
--- a/03-your-first-test-assertion/src/test/java/tests/TestLogin.java
+++ b/03-your-first-test-assertion/src/test/java/tests/TestLogin.java
@@ -7,6 +7,7 @@
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class TestLogin {
@@ -30,12 +31,21 @@ public void succeeded() {
driver.findElement(By.id("password")).sendKeys("SuperSecretPassword!");
driver.findElement(By.cssSelector("button")).click();
- assertTrue("success message not present",
- driver.findElement(By.cssSelector(".flash.success")).isDisplayed());
+ assertEquals(true, driver.findElement(By.cssSelector(".flash.success")).isDisplayed());
//assertTrue("success message not present",
// driver.findElement(By.cssSelector(".flash.successasdf")).isDisplayed());
}
+ @Test
+ public void failed() {
+ driver.get("http://the-internet.herokuapp.com/login");
+ driver.findElement(By.id("username")).sendKeys("tomsmith");
+ driver.findElement(By.id("password")).sendKeys("SuperSecretPassword!");
+ driver.findElement(By.cssSelector("button")).click();
+
+ assertEquals("This element was not found",true,
+ driver.findElement(By.cssSelector(".flash.successasdf")).isDisplayed());
+ }
@After
public void tearDown() {
driver.quit();
diff --git a/04-page-objects/pom.xml b/04-page-objects/pom.xml
old mode 100644
new mode 100755
index 218008a..910d215
--- a/04-page-objects/pom.xml
+++ b/04-page-objects/pom.xml
@@ -4,7 +4,7 @@
com.seleniumguidebook.examples
seleniumguidebook-example-04
jar
- 1.0-SNAPSHOT
+ 1.2
seleniumguidebook-example-04
http://maven.apache.org
@@ -20,7 +20,7 @@
org.seleniumhq.selenium
selenium-java
- 3.3.1
+ 3.5.3
diff --git a/04-page-objects/src/test/java/pageobjects/Login.java b/04-page-objects/src/test/java/pageobjects/Login.java
index ec4d091..03dbeb2 100644
--- a/04-page-objects/src/test/java/pageobjects/Login.java
+++ b/04-page-objects/src/test/java/pageobjects/Login.java
@@ -2,9 +2,11 @@
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class Login {
@@ -18,9 +20,9 @@ public class Login {
By failureMessageLocator = By.cssSelector(".flash.error");
public Login(WebDriver driver) {
- this.driver = driver;
+ driver = driver;
driver.get("http://the-internet.herokuapp.com/login");
- assertTrue("The login form is not present",
+ assertEquals("The login form is not present", true,
driver.findElement(loginFormLocator).isDisplayed());
}
diff --git a/04-page-objects/src/test/java/tests/TestLogin.java b/04-page-objects/src/test/java/tests/TestLogin.java
index 329f8d8..0e77b17 100644
--- a/04-page-objects/src/test/java/tests/TestLogin.java
+++ b/04-page-objects/src/test/java/tests/TestLogin.java
@@ -5,6 +5,7 @@
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
+import org.openqa.selenium.firefox.FirefoxDriver;
import pageobjects.Login;
import static org.junit.Assert.assertTrue;
@@ -16,7 +17,12 @@ public class TestLogin {
@Before
public void setUp() {
- driver = (WebDriver) new ChromeDriver();
+ // Windows
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver.exe");
+ // Mac
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver");
+
+ driver = new ChromeDriver();
login = new Login(driver);
}
diff --git a/05-base-page-object/pom.xml b/05-base-page-object/pom.xml
old mode 100644
new mode 100755
index e3e0d86..df1a42e
--- a/05-base-page-object/pom.xml
+++ b/05-base-page-object/pom.xml
@@ -4,7 +4,7 @@
com.seleniumguidebook.examples
seleniumguidebook-example-05
jar
- 1.0-SNAPSHOT
+ 1.2
seleniumguidebook-example-05
http://maven.apache.org
@@ -20,7 +20,7 @@
org.seleniumhq.selenium
selenium-java
- 3.3.1
+ 3.5.3
diff --git a/05-base-page-object/src/test/java/tests/TestLogin.java b/05-base-page-object/src/test/java/tests/TestLogin.java
index 9143c19..97a9a88 100644
--- a/05-base-page-object/src/test/java/tests/TestLogin.java
+++ b/05-base-page-object/src/test/java/tests/TestLogin.java
@@ -17,6 +17,11 @@ public class TestLogin {
@Before
public void setUp() {
+ // Windows
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver.exe");
+ // Mac
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver");
+
driver = new ChromeDriver();
login = new Login(driver);
}
diff --git a/06-explicit-waits/pom.xml b/06-explicit-waits/pom.xml
old mode 100644
new mode 100755
index 9d0ddb1..dd9213b
--- a/06-explicit-waits/pom.xml
+++ b/06-explicit-waits/pom.xml
@@ -4,7 +4,7 @@
com.seleniumguidebook.examples
seleniumguidebook-example-06
jar
- 1.0-SNAPSHOT
+ 1.2
seleniumguidebook-example-06
http://maven.apache.org
@@ -20,7 +20,7 @@
org.seleniumhq.selenium
selenium-java
- 3.3.1
+ 3.5.3
diff --git a/06-explicit-waits/src/test/java/tests/TestDynamicLoading.java b/06-explicit-waits/src/test/java/tests/TestDynamicLoading.java
index a9fca13..1899d31 100644
--- a/06-explicit-waits/src/test/java/tests/TestDynamicLoading.java
+++ b/06-explicit-waits/src/test/java/tests/TestDynamicLoading.java
@@ -5,7 +5,7 @@
import org.junit.After;
import static org.junit.Assert.*;
import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.chrome.ChromeDriver;
import pageobjects.DynamicLoading;
public class TestDynamicLoading {
@@ -15,7 +15,12 @@ public class TestDynamicLoading {
@Before
public void setUp() {
- driver = new FirefoxDriver();
+ // Windows
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver.exe");
+ // Mac
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver");
+
+ driver = new ChromeDriver();
dynamicLoading = new DynamicLoading(driver);
}
diff --git a/06-explicit-waits/src/test/java/tests/TestLogin.java b/06-explicit-waits/src/test/java/tests/TestLogin.java
index 8d2e00a..3a87104 100644
--- a/06-explicit-waits/src/test/java/tests/TestLogin.java
+++ b/06-explicit-waits/src/test/java/tests/TestLogin.java
@@ -5,7 +5,7 @@
import org.junit.After;
import static org.junit.Assert.*;
import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.firefox.FirefoxDriver;
+import org.openqa.selenium.chrome.ChromeDriver;
import pageobjects.Login;
public class TestLogin {
@@ -15,7 +15,12 @@ public class TestLogin {
@Before
public void setUp() {
- driver = new FirefoxDriver();
+ // Windows
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver.exe");
+ // Mac
+ //System.setProperty("webdriver.chrome.driver", "../driver/chromedriver");
+
+ driver = new ChromeDriver();
login = new Login(driver);
}
diff --git a/07-framework/pom.xml b/07-framework/pom.xml
old mode 100644
new mode 100755
index 180b9da..cebd343
--- a/07-framework/pom.xml
+++ b/07-framework/pom.xml
@@ -4,7 +4,7 @@
com.seleniumguidebook.examples
seleniumguidebook-example-07
jar
- 1.0-SNAPSHOT
+ 1.2
seleniumguidebook-example-07
http://maven.apache.org
@@ -20,7 +20,7 @@
org.seleniumhq.selenium
selenium-java
- 3.3.1
+ 3.5.3
@@ -69,7 +69,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.19.1
+ 2.20.1
classesAndMethods
5
diff --git a/07-framework/src/test/java/tests/TestDynamicLoading.java b/07-framework/src/test/java/tests/TestDynamicLoading.java
deleted file mode 100644
index 76b1458..0000000
--- a/07-framework/src/test/java/tests/TestDynamicLoading.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package tests;
-
-import org.junit.Test;
-import org.junit.Before;
-import static org.junit.Assert.*;
-import pageobjects.DynamicLoading;
-import org.junit.experimental.categories.Category;
-import tests.groups.Deep;
-
-@Category(Deep.class)
-public class TestDynamicLoading extends Base {
-
- private DynamicLoading dynamicLoading;
-
- @Before
- public void setUp() {
- dynamicLoading = new DynamicLoading(driver);
- }
-
- @Test
- public void hiddenElementLoads() {
- dynamicLoading.loadExample("1");
- assertTrue("finish text didn't display after loading",
- dynamicLoading.finishTextPresent());
- }
-
- @Test
- public void elementAppears() {
- dynamicLoading.loadExample("2");
- assertTrue("finish text didn't render after loading",
- dynamicLoading.finishTextPresent());
- }
-
-}
diff --git a/README.md b/README.md
index d67c74b..53f3ac8 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,30 @@
-# workshop
+# For attendees
-from the 7 folder run this command
+Run either the `windows_insall.bat` by double-clicking or the `mac_install.sh` by opening up the folder in a terminal window and typeing `./mac_install.sh`.
-mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -DoutputDirectory=../lib
+### Windows
+
+`System.setProperty("webdriver.chrome.driver", "../driver/chromedriver.exe");`
+
+### Mac
+
+`System.setProperty("webdriver.chrome.driver", "../driver/chromedriver");`
+
+## IF THE INSTALL SCRIPT WORKED
+
+`This is the java code that will need to be in the top of files for the workshop.
+### Windows
+
+`System.setProperty("webdriver.chrome.driver", "C:\\tools\\selenium\\chromedriver.exe");`
+
+### Mac
+
+`System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");`
+
+---
+
+# Instructor Workshop Setup
+
+from the 07 folder run this command
+
+`mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -DoutputDirectory=../lib`
diff --git a/driver/MicrosoftWebDriver.exe b/driver/MicrosoftWebDriver.exe
new file mode 100644
index 0000000..e850f62
Binary files /dev/null and b/driver/MicrosoftWebDriver.exe differ
diff --git a/driver/chromedriver b/driver/chromedriver
new file mode 100755
index 0000000..5428aa4
Binary files /dev/null and b/driver/chromedriver differ
diff --git a/driver/chromedriver.exe b/driver/chromedriver.exe
new file mode 100755
index 0000000..86959fe
Binary files /dev/null and b/driver/chromedriver.exe differ
diff --git a/driver/geckodriver b/driver/geckodriver
new file mode 100755
index 0000000..a125321
Binary files /dev/null and b/driver/geckodriver differ
diff --git a/driver/geckodriver.exe b/driver/geckodriver.exe
new file mode 100755
index 0000000..3196be2
Binary files /dev/null and b/driver/geckodriver.exe differ
diff --git a/lib/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar b/lib/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
new file mode 100644
index 0000000..a9afc66
Binary files /dev/null and b/lib/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar differ
diff --git a/lib/com/google/code/findbugs/jsr305/maven-metadata-local.xml b/lib/com/google/code/findbugs/jsr305/maven-metadata-local.xml
new file mode 100644
index 0000000..be4d36a
--- /dev/null
+++ b/lib/com/google/code/findbugs/jsr305/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+
+
+ com.google.code.findbugs
+ jsr305
+
+ 1.3.9
+
+ 1.3.9
+
+ 20170920115441
+
+
diff --git a/lib/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18.jar b/lib/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18.jar
new file mode 100644
index 0000000..fa549b4
Binary files /dev/null and b/lib/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18.jar differ
diff --git a/lib/com/google/errorprone/error_prone_annotations/maven-metadata-local.xml b/lib/com/google/errorprone/error_prone_annotations/maven-metadata-local.xml
new file mode 100644
index 0000000..b7dc136
--- /dev/null
+++ b/lib/com/google/errorprone/error_prone_annotations/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+
+
+ com.google.errorprone
+ error_prone_annotations
+
+ 2.0.18
+
+ 2.0.18
+
+ 20170920115441
+
+
diff --git a/lib/com/google/guava/guava/23.0/guava-23.0.jar b/lib/com/google/guava/guava/23.0/guava-23.0.jar
new file mode 100644
index 0000000..a5c70c4
Binary files /dev/null and b/lib/com/google/guava/guava/23.0/guava-23.0.jar differ
diff --git a/lib/com/google/guava/guava/maven-metadata-local.xml b/lib/com/google/guava/guava/maven-metadata-local.xml
index 02b531c..f0141ef 100644
--- a/lib/com/google/guava/guava/maven-metadata-local.xml
+++ b/lib/com/google/guava/guava/maven-metadata-local.xml
@@ -3,10 +3,11 @@
com.google.guava
guava
- 21.0
+ 23.0
21.0
+ 23.0
- 20170324200031
+ 20170920115441
diff --git a/lib/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar b/lib/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar
new file mode 100644
index 0000000..4b6f127
Binary files /dev/null and b/lib/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar differ
diff --git a/lib/com/google/j2objc/j2objc-annotations/maven-metadata-local.xml b/lib/com/google/j2objc/j2objc-annotations/maven-metadata-local.xml
new file mode 100644
index 0000000..bc14097
--- /dev/null
+++ b/lib/com/google/j2objc/j2objc-annotations/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+
+
+ com.google.j2objc
+ j2objc-annotations
+
+ 1.1
+
+ 1.1
+
+ 20170920115441
+
+
diff --git a/lib/commons-codec/commons-codec/1.10/commons-codec-1.10.jar b/lib/commons-codec/commons-codec/1.10/commons-codec-1.10.jar
new file mode 100644
index 0000000..1d7417c
Binary files /dev/null and b/lib/commons-codec/commons-codec/1.10/commons-codec-1.10.jar differ
diff --git a/lib/commons-codec/commons-codec/maven-metadata-local.xml b/lib/commons-codec/commons-codec/maven-metadata-local.xml
index 3f26636..cb25131 100644
--- a/lib/commons-codec/commons-codec/maven-metadata-local.xml
+++ b/lib/commons-codec/commons-codec/maven-metadata-local.xml
@@ -3,10 +3,11 @@
commons-codec
commons-codec
- 1.9
+ 1.10
1.9
+ 1.10
- 20170324200031
+ 20170920115441
diff --git a/lib/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar b/lib/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
new file mode 100644
index 0000000..6b14c3d
Binary files /dev/null and b/lib/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar differ
diff --git a/lib/javax/servlet/javax.servlet-api/maven-metadata-local.xml b/lib/javax/servlet/javax.servlet-api/maven-metadata-local.xml
new file mode 100644
index 0000000..822d516
--- /dev/null
+++ b/lib/javax/servlet/javax.servlet-api/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+
+
+ javax.servlet
+ javax.servlet-api
+
+ 3.1.0
+
+ 3.1.0
+
+ 20170920115441
+
+
diff --git a/lib/net/sourceforge/cssparser/cssparser/0.9.23/cssparser-0.9.23.jar b/lib/net/sourceforge/cssparser/cssparser/0.9.23/cssparser-0.9.23.jar
new file mode 100644
index 0000000..e15f12f
Binary files /dev/null and b/lib/net/sourceforge/cssparser/cssparser/0.9.23/cssparser-0.9.23.jar differ
diff --git a/lib/net/sourceforge/cssparser/cssparser/maven-metadata-local.xml b/lib/net/sourceforge/cssparser/cssparser/maven-metadata-local.xml
index 2196fe3..7533518 100644
--- a/lib/net/sourceforge/cssparser/cssparser/maven-metadata-local.xml
+++ b/lib/net/sourceforge/cssparser/cssparser/maven-metadata-local.xml
@@ -3,10 +3,11 @@
net.sourceforge.cssparser
cssparser
- 0.9.21
+ 0.9.23
0.9.21
+ 0.9.23
- 20170324200031
+ 20170920115441
diff --git a/lib/net/sourceforge/htmlunit/htmlunit-core-js/2.27/htmlunit-core-js-2.27.jar b/lib/net/sourceforge/htmlunit/htmlunit-core-js/2.27/htmlunit-core-js-2.27.jar
new file mode 100644
index 0000000..5a7f3e0
Binary files /dev/null and b/lib/net/sourceforge/htmlunit/htmlunit-core-js/2.27/htmlunit-core-js-2.27.jar differ
diff --git a/lib/net/sourceforge/htmlunit/htmlunit-core-js/maven-metadata-local.xml b/lib/net/sourceforge/htmlunit/htmlunit-core-js/maven-metadata-local.xml
index 24ef24a..014735c 100644
--- a/lib/net/sourceforge/htmlunit/htmlunit-core-js/maven-metadata-local.xml
+++ b/lib/net/sourceforge/htmlunit/htmlunit-core-js/maven-metadata-local.xml
@@ -3,10 +3,11 @@
net.sourceforge.htmlunit
htmlunit-core-js
- 2.23
+ 2.27
2.23
+ 2.27
- 20170324200031
+ 20170920115441
diff --git a/lib/net/sourceforge/htmlunit/htmlunit/2.27/htmlunit-2.27.jar b/lib/net/sourceforge/htmlunit/htmlunit/2.27/htmlunit-2.27.jar
new file mode 100644
index 0000000..53f0541
Binary files /dev/null and b/lib/net/sourceforge/htmlunit/htmlunit/2.27/htmlunit-2.27.jar differ
diff --git a/lib/net/sourceforge/htmlunit/htmlunit/maven-metadata-local.xml b/lib/net/sourceforge/htmlunit/htmlunit/maven-metadata-local.xml
index 432f51a..2c62a70 100644
--- a/lib/net/sourceforge/htmlunit/htmlunit/maven-metadata-local.xml
+++ b/lib/net/sourceforge/htmlunit/htmlunit/maven-metadata-local.xml
@@ -3,10 +3,11 @@
net.sourceforge.htmlunit
htmlunit
- 2.24
+ 2.27
2.24
+ 2.27
- 20170324200031
+ 20170920115441
diff --git a/lib/net/sourceforge/htmlunit/neko-htmlunit/2.27/neko-htmlunit-2.27.jar b/lib/net/sourceforge/htmlunit/neko-htmlunit/2.27/neko-htmlunit-2.27.jar
new file mode 100644
index 0000000..26a96ad
Binary files /dev/null and b/lib/net/sourceforge/htmlunit/neko-htmlunit/2.27/neko-htmlunit-2.27.jar differ
diff --git a/lib/net/sourceforge/htmlunit/neko-htmlunit/maven-metadata-local.xml b/lib/net/sourceforge/htmlunit/neko-htmlunit/maven-metadata-local.xml
index 20c746c..b2116b8 100644
--- a/lib/net/sourceforge/htmlunit/neko-htmlunit/maven-metadata-local.xml
+++ b/lib/net/sourceforge/htmlunit/neko-htmlunit/maven-metadata-local.xml
@@ -3,10 +3,11 @@
net.sourceforge.htmlunit
neko-htmlunit
- 2.24
+ 2.27
2.24
+ 2.27
- 20170324200031
+ 20170920115441
diff --git a/lib/org/apache/httpcomponents/httpclient/4.5.3/httpclient-4.5.3.jar b/lib/org/apache/httpcomponents/httpclient/4.5.3/httpclient-4.5.3.jar
new file mode 100644
index 0000000..8af4561
Binary files /dev/null and b/lib/org/apache/httpcomponents/httpclient/4.5.3/httpclient-4.5.3.jar differ
diff --git a/lib/org/apache/httpcomponents/httpclient/maven-metadata-local.xml b/lib/org/apache/httpcomponents/httpclient/maven-metadata-local.xml
index 0dd0b72..5d4089d 100644
--- a/lib/org/apache/httpcomponents/httpclient/maven-metadata-local.xml
+++ b/lib/org/apache/httpcomponents/httpclient/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.apache.httpcomponents
httpclient
- 4.5
+ 4.5.3
4.5
+ 4.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6.jar b/lib/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6.jar
new file mode 100644
index 0000000..16ed0d1
Binary files /dev/null and b/lib/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6.jar differ
diff --git a/lib/org/apache/httpcomponents/httpcore/maven-metadata-local.xml b/lib/org/apache/httpcomponents/httpcore/maven-metadata-local.xml
index 854134b..140dfcb 100644
--- a/lib/org/apache/httpcomponents/httpcore/maven-metadata-local.xml
+++ b/lib/org/apache/httpcomponents/httpcore/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.apache.httpcomponents
httpcore
- 4.4.1
+ 4.4.6
4.4.1
+ 4.4.6
- 20170324200031
+ 20170920115441
diff --git a/lib/org/apache/httpcomponents/httpmime/4.5.3/httpmime-4.5.3.jar b/lib/org/apache/httpcomponents/httpmime/4.5.3/httpmime-4.5.3.jar
new file mode 100644
index 0000000..fe2cf8e
Binary files /dev/null and b/lib/org/apache/httpcomponents/httpmime/4.5.3/httpmime-4.5.3.jar differ
diff --git a/lib/org/apache/httpcomponents/httpmime/maven-metadata-local.xml b/lib/org/apache/httpcomponents/httpmime/maven-metadata-local.xml
index 0188e66..ef01a6c 100644
--- a/lib/org/apache/httpcomponents/httpmime/maven-metadata-local.xml
+++ b/lib/org/apache/httpcomponents/httpmime/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.apache.httpcomponents
httpmime
- 4.5.2
+ 4.5.3
4.5.2
+ 4.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar b/lib/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar
new file mode 100644
index 0000000..fb76acf
Binary files /dev/null and b/lib/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar differ
diff --git a/lib/org/codehaus/mojo/animal-sniffer-annotations/maven-metadata-local.xml b/lib/org/codehaus/mojo/animal-sniffer-annotations/maven-metadata-local.xml
new file mode 100644
index 0000000..abbb6ae
--- /dev/null
+++ b/lib/org/codehaus/mojo/animal-sniffer-annotations/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+
+
+ org.codehaus.mojo
+ animal-sniffer-annotations
+
+ 1.14
+
+ 1.14
+
+ 20170920115441
+
+
diff --git a/lib/org/eclipse/jetty/jetty-client/9.4.5.v20170502/jetty-client-9.4.5.v20170502.jar b/lib/org/eclipse/jetty/jetty-client/9.4.5.v20170502/jetty-client-9.4.5.v20170502.jar
new file mode 100644
index 0000000..225df33
Binary files /dev/null and b/lib/org/eclipse/jetty/jetty-client/9.4.5.v20170502/jetty-client-9.4.5.v20170502.jar differ
diff --git a/lib/org/eclipse/jetty/jetty-client/maven-metadata-local.xml b/lib/org/eclipse/jetty/jetty-client/maven-metadata-local.xml
new file mode 100644
index 0000000..fcc2b67
--- /dev/null
+++ b/lib/org/eclipse/jetty/jetty-client/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+
+
+ org.eclipse.jetty
+ jetty-client
+
+ 9.4.5.v20170502
+
+ 9.4.5.v20170502
+
+ 20170920115441
+
+
diff --git a/lib/org/eclipse/jetty/jetty-http/9.4.5.v20170502/jetty-http-9.4.5.v20170502.jar b/lib/org/eclipse/jetty/jetty-http/9.4.5.v20170502/jetty-http-9.4.5.v20170502.jar
new file mode 100644
index 0000000..4effc38
Binary files /dev/null and b/lib/org/eclipse/jetty/jetty-http/9.4.5.v20170502/jetty-http-9.4.5.v20170502.jar differ
diff --git a/lib/org/eclipse/jetty/jetty-http/maven-metadata-local.xml b/lib/org/eclipse/jetty/jetty-http/maven-metadata-local.xml
new file mode 100644
index 0000000..7ceb330
--- /dev/null
+++ b/lib/org/eclipse/jetty/jetty-http/maven-metadata-local.xml
@@ -0,0 +1,12 @@
+
+
+ org.eclipse.jetty
+ jetty-http
+
+ 9.4.5.v20170502
+
+ 9.4.5.v20170502
+
+ 20170920115441
+
+
diff --git a/lib/org/eclipse/jetty/jetty-io/9.4.5.v20170502/jetty-io-9.4.5.v20170502.jar b/lib/org/eclipse/jetty/jetty-io/9.4.5.v20170502/jetty-io-9.4.5.v20170502.jar
new file mode 100644
index 0000000..f10733b
Binary files /dev/null and b/lib/org/eclipse/jetty/jetty-io/9.4.5.v20170502/jetty-io-9.4.5.v20170502.jar differ
diff --git a/lib/org/eclipse/jetty/jetty-io/maven-metadata-local.xml b/lib/org/eclipse/jetty/jetty-io/maven-metadata-local.xml
index 495c4f2..6cc31f5 100644
--- a/lib/org/eclipse/jetty/jetty-io/maven-metadata-local.xml
+++ b/lib/org/eclipse/jetty/jetty-io/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.eclipse.jetty
jetty-io
- 9.2.20.v20161216
+ 9.4.5.v20170502
9.2.20.v20161216
+ 9.4.5.v20170502
- 20170324200031
+ 20170920115441
diff --git a/lib/org/eclipse/jetty/jetty-util/9.4.5.v20170502/jetty-util-9.4.5.v20170502.jar b/lib/org/eclipse/jetty/jetty-util/9.4.5.v20170502/jetty-util-9.4.5.v20170502.jar
new file mode 100644
index 0000000..3fe68e0
Binary files /dev/null and b/lib/org/eclipse/jetty/jetty-util/9.4.5.v20170502/jetty-util-9.4.5.v20170502.jar differ
diff --git a/lib/org/eclipse/jetty/jetty-util/maven-metadata-local.xml b/lib/org/eclipse/jetty/jetty-util/maven-metadata-local.xml
index 525424e..1e64681 100644
--- a/lib/org/eclipse/jetty/jetty-util/maven-metadata-local.xml
+++ b/lib/org/eclipse/jetty/jetty-util/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.eclipse.jetty
jetty-util
- 9.2.20.v20161216
+ 9.4.5.v20170502
9.2.20.v20161216
+ 9.4.5.v20170502
- 20170324200031
+ 20170920115441
diff --git a/lib/org/eclipse/jetty/websocket/websocket-api/9.4.5.v20170502/websocket-api-9.4.5.v20170502.jar b/lib/org/eclipse/jetty/websocket/websocket-api/9.4.5.v20170502/websocket-api-9.4.5.v20170502.jar
new file mode 100644
index 0000000..1c47659
Binary files /dev/null and b/lib/org/eclipse/jetty/websocket/websocket-api/9.4.5.v20170502/websocket-api-9.4.5.v20170502.jar differ
diff --git a/lib/org/eclipse/jetty/websocket/websocket-api/maven-metadata-local.xml b/lib/org/eclipse/jetty/websocket/websocket-api/maven-metadata-local.xml
index 7ffdf28..d71b8b0 100644
--- a/lib/org/eclipse/jetty/websocket/websocket-api/maven-metadata-local.xml
+++ b/lib/org/eclipse/jetty/websocket/websocket-api/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.eclipse.jetty.websocket
websocket-api
- 9.2.20.v20161216
+ 9.4.5.v20170502
9.2.20.v20161216
+ 9.4.5.v20170502
- 20170324200031
+ 20170920115441
diff --git a/lib/org/eclipse/jetty/websocket/websocket-client/9.4.5.v20170502/websocket-client-9.4.5.v20170502.jar b/lib/org/eclipse/jetty/websocket/websocket-client/9.4.5.v20170502/websocket-client-9.4.5.v20170502.jar
new file mode 100644
index 0000000..74122f3
Binary files /dev/null and b/lib/org/eclipse/jetty/websocket/websocket-client/9.4.5.v20170502/websocket-client-9.4.5.v20170502.jar differ
diff --git a/lib/org/eclipse/jetty/websocket/websocket-client/maven-metadata-local.xml b/lib/org/eclipse/jetty/websocket/websocket-client/maven-metadata-local.xml
index 40de349..a2b9400 100644
--- a/lib/org/eclipse/jetty/websocket/websocket-client/maven-metadata-local.xml
+++ b/lib/org/eclipse/jetty/websocket/websocket-client/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.eclipse.jetty.websocket
websocket-client
- 9.2.20.v20161216
+ 9.4.5.v20170502
9.2.20.v20161216
+ 9.4.5.v20170502
- 20170324200031
+ 20170920115441
diff --git a/lib/org/eclipse/jetty/websocket/websocket-common/9.4.5.v20170502/websocket-common-9.4.5.v20170502.jar b/lib/org/eclipse/jetty/websocket/websocket-common/9.4.5.v20170502/websocket-common-9.4.5.v20170502.jar
new file mode 100644
index 0000000..8f9a083
Binary files /dev/null and b/lib/org/eclipse/jetty/websocket/websocket-common/9.4.5.v20170502/websocket-common-9.4.5.v20170502.jar differ
diff --git a/lib/org/eclipse/jetty/websocket/websocket-common/maven-metadata-local.xml b/lib/org/eclipse/jetty/websocket/websocket-common/maven-metadata-local.xml
index 9b42743..7438a49 100644
--- a/lib/org/eclipse/jetty/websocket/websocket-common/maven-metadata-local.xml
+++ b/lib/org/eclipse/jetty/websocket/websocket-common/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.eclipse.jetty.websocket
websocket-common
- 9.2.20.v20161216
+ 9.4.5.v20170502
9.2.20.v20161216
+ 9.4.5.v20170502
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/htmlunit-driver/2.27/htmlunit-driver-2.27.jar b/lib/org/seleniumhq/selenium/htmlunit-driver/2.27/htmlunit-driver-2.27.jar
new file mode 100644
index 0000000..50b115b
Binary files /dev/null and b/lib/org/seleniumhq/selenium/htmlunit-driver/2.27/htmlunit-driver-2.27.jar differ
diff --git a/lib/org/seleniumhq/selenium/htmlunit-driver/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/htmlunit-driver/maven-metadata-local.xml
index 3a984c1..57e1f2e 100644
--- a/lib/org/seleniumhq/selenium/htmlunit-driver/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/htmlunit-driver/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
htmlunit-driver
- 2.24
+ 2.27
2.24
+ 2.27
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-api/3.5.3/selenium-api-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-api/3.5.3/selenium-api-3.5.3.jar
new file mode 100644
index 0000000..12570df
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-api/3.5.3/selenium-api-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-api/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-api/maven-metadata-local.xml
index 59ec2d4..307c657 100644
--- a/lib/org/seleniumhq/selenium/selenium-api/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-api/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-api
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-chrome-driver/3.5.3/selenium-chrome-driver-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-chrome-driver/3.5.3/selenium-chrome-driver-3.5.3.jar
new file mode 100644
index 0000000..272333e
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-chrome-driver/3.5.3/selenium-chrome-driver-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-chrome-driver/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-chrome-driver/maven-metadata-local.xml
index 132be26..8675149 100644
--- a/lib/org/seleniumhq/selenium/selenium-chrome-driver/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-chrome-driver/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-chrome-driver
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-edge-driver/3.5.3/selenium-edge-driver-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-edge-driver/3.5.3/selenium-edge-driver-3.5.3.jar
new file mode 100644
index 0000000..50c3005
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-edge-driver/3.5.3/selenium-edge-driver-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-edge-driver/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-edge-driver/maven-metadata-local.xml
index 41b0b0b..230ee1a 100644
--- a/lib/org/seleniumhq/selenium/selenium-edge-driver/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-edge-driver/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-edge-driver
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-firefox-driver/3.5.3/selenium-firefox-driver-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-firefox-driver/3.5.3/selenium-firefox-driver-3.5.3.jar
new file mode 100644
index 0000000..007ae25
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-firefox-driver/3.5.3/selenium-firefox-driver-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-firefox-driver/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-firefox-driver/maven-metadata-local.xml
index 971f0d1..02020b3 100644
--- a/lib/org/seleniumhq/selenium/selenium-firefox-driver/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-firefox-driver/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-firefox-driver
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-ie-driver/3.5.3/selenium-ie-driver-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-ie-driver/3.5.3/selenium-ie-driver-3.5.3.jar
new file mode 100644
index 0000000..6fe91cc
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-ie-driver/3.5.3/selenium-ie-driver-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-ie-driver/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-ie-driver/maven-metadata-local.xml
index 632b0ac..534aa4b 100644
--- a/lib/org/seleniumhq/selenium/selenium-ie-driver/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-ie-driver/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-ie-driver
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-java/3.5.3/selenium-java-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-java/3.5.3/selenium-java-3.5.3.jar
new file mode 100644
index 0000000..e90e1ee
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-java/3.5.3/selenium-java-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-java/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-java/maven-metadata-local.xml
index 3a9ebde..342e58d 100644
--- a/lib/org/seleniumhq/selenium/selenium-java/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-java/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-java
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-opera-driver/3.5.3/selenium-opera-driver-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-opera-driver/3.5.3/selenium-opera-driver-3.5.3.jar
new file mode 100644
index 0000000..3e505f5
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-opera-driver/3.5.3/selenium-opera-driver-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-opera-driver/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-opera-driver/maven-metadata-local.xml
index e26afdb..b10eb91 100644
--- a/lib/org/seleniumhq/selenium/selenium-opera-driver/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-opera-driver/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-opera-driver
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-remote-driver/3.5.3/selenium-remote-driver-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-remote-driver/3.5.3/selenium-remote-driver-3.5.3.jar
new file mode 100644
index 0000000..aefad26
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-remote-driver/3.5.3/selenium-remote-driver-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-remote-driver/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-remote-driver/maven-metadata-local.xml
index 49afdc8..3cc6c58 100644
--- a/lib/org/seleniumhq/selenium/selenium-remote-driver/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-remote-driver/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-remote-driver
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-safari-driver/3.5.3/selenium-safari-driver-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-safari-driver/3.5.3/selenium-safari-driver-3.5.3.jar
new file mode 100644
index 0000000..1f7d72d
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-safari-driver/3.5.3/selenium-safari-driver-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-safari-driver/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-safari-driver/maven-metadata-local.xml
index 5117c91..74f4747 100644
--- a/lib/org/seleniumhq/selenium/selenium-safari-driver/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-safari-driver/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-safari-driver
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/lib/org/seleniumhq/selenium/selenium-support/3.5.3/selenium-support-3.5.3.jar b/lib/org/seleniumhq/selenium/selenium-support/3.5.3/selenium-support-3.5.3.jar
new file mode 100644
index 0000000..b4b79e0
Binary files /dev/null and b/lib/org/seleniumhq/selenium/selenium-support/3.5.3/selenium-support-3.5.3.jar differ
diff --git a/lib/org/seleniumhq/selenium/selenium-support/maven-metadata-local.xml b/lib/org/seleniumhq/selenium/selenium-support/maven-metadata-local.xml
index bd16ccc..66e0cbc 100644
--- a/lib/org/seleniumhq/selenium/selenium-support/maven-metadata-local.xml
+++ b/lib/org/seleniumhq/selenium/selenium-support/maven-metadata-local.xml
@@ -3,10 +3,11 @@
org.seleniumhq.selenium
selenium-support
- 3.3.1
+ 3.5.3
3.3.1
+ 3.5.3
- 20170324200031
+ 20170920115441
diff --git a/mac_install.sh b/mac_install.sh
new file mode 100755
index 0000000..f400fcf
--- /dev/null
+++ b/mac_install.sh
@@ -0,0 +1,157 @@
+#!/bin/bash
+
+kegs=(
+ caskroom/cask
+ caskroom/drivers
+ caskroom/fonts
+)
+
+# Homebrew casks
+casks=(
+ firefox
+ google-chrome
+ java
+)
+
+recipes=(
+geckodriver
+chromedriver
+phantomjs
+maven
+)
+
+######################### No Need to Change below here
+
+function e_header() { echo -e "\n\033[1m$@\033[0m"; }
+
+function setdiff() {
+ local debug skip a b
+ if [[ "$1" == 1 ]]; then debug=1; shift; fi
+ if [[ "$1" ]]; then
+ local setdiff_new setdiff_cur setdiff_out
+ setdiff_new=($1); setdiff_cur=($2)
+ fi
+ setdiff_out=()
+ for a in "${setdiff_new[@]}"; do
+ skip=
+ for b in "${setdiff_cur[@]}"; do
+ [[ "$a" == "$b" ]] && skip=1 && break
+ done
+ [[ "$skip" ]] || setdiff_out=("${setdiff_out[@]}" "$a")
+ done
+ [[ "$debug" ]] && for a in setdiff_new setdiff_cur setdiff_out; do
+ echo "$a ($(eval echo "\${#$a[*]}")) $(eval echo "\${$a[*]}")" 1>&2
+ done
+ [[ "$1" ]] && echo "${setdiff_out[@]}"
+}
+
+fancy_echo() { # to add blank line between echo statements:
+ local fmt="$1"; shift
+ # shellcheck disable=SC2059
+ printf "\n$fmt\n" "$@"
+}
+
+if ! command -v cc >/dev/null; then
+ fancy_echo "Installing xcode (Agreeing to the Xcode/iOS license requires sudo admin privileges) ..."
+ sudo xcodebuild -license accept
+ # xcode-select --install
+else
+ fancy_echo "Xcode already installed. Skipping."
+fi
+
+
+if ! command -v brew >/dev/null; then
+ fancy_echo "Installing Homebrew..."
+ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 0 )); then
+ e_header "Tapping Homebrew kegs: ${kegs[*]}"
+ for keg in "${kegs[@]}"; do
+ brew tap $keg
+ done
+ fi
+}
+
+# Install Homebrew recipes.
+function brew_install_recipes() {
+ recipes=($(setdiff "${recipes[*]}" "$(brew list)"))
+ if (( ${#recipes[@]} > 0 )); then
+ e_header "Installing Homebrew recipes: ${recipes[*]}"
+ for recipe in "${recipes[@]}"; do
+ brew install $recipe
+ done
+ fi
+}
+
+####### CASKROOM
+
+# Exit if Homebrew is not installed.
+[[ ! "$(type -P brew)" ]] && e_error "Brew casks need Homebrew to install." && return 1
+
+# Ensure the cask kegs are installed.
+
+brew_tap_kegs
+
+# Hack to show the first-run brew-cask password prompt immediately.
+brew cask info this-is-somewhat-annoying 2>/dev/null
+
+
+
+# Install Homebrew casks.
+casks=($(setdiff "${casks[*]}" "$(brew cask list 2>/dev/null)"))
+if (( ${#casks[@]} > 0 )); then
+ e_header "Installing Homebrew casks: ${casks[*]}"
+ for cask in "${casks[@]}"; do
+ brew cask install $cask
+ done
+ brew cask cleanup
+fi
+
+# Work around colorPicker symlink issue.
+# https://github.com/caskroom/homebrew-cask/issues/7004
+cps=()
+for f in ~/Library/ColorPickers/*.colorPicker; do
+ [[ -L "$f" ]] && cps=("${cps[@]}" "$f")
+done
+
+if (( ${#cps[@]} > 0 )); then
+ e_header "Fixing colorPicker symlinks"
+ for f in "${cps[@]}"; do
+ target="$(readlink "$f")"
+ e_arrow "$(basename "$f")"
+ rm "$f"
+ cp -R "$target" ~/Library/ColorPickers/
+ done
+fi
+
+brew_install_recipes
diff --git a/windows_install.bat b/windows_install.bat
new file mode 100755
index 0000000..046f7ea
--- /dev/null
+++ b/windows_install.bat
@@ -0,0 +1,12 @@
+@echo off
+title Setting up your machine for Selenium Testing!
+
+@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
+
+choco install firefox -y
+choco install googlechrome -y
+choco install phantomjs -y
+choco install selenium-all-drivers -y
+choco install jdk8 -y
+choco install maven -y
+SETX PATH "%PATH%;C:\tools\selenium"
\ No newline at end of file