Added new selenium version and parallel testing working properly

This commit is contained in:
Guillem Hernandez Sola
2019-02-19 16:26:07 +01:00
parent ea38ee97eb
commit f26abd0f96
15 changed files with 34 additions and 46 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
@@ -19,30 +19,25 @@
<orderEntry type="library" name="Maven: org.apache.ant:ant-launcher:1.7.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.ant:ant-launcher:1.7.0" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.15" level="project" /> <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.15" level="project" />
<orderEntry type="library" name="Maven: org.beanshell:bsh:2.0b4" level="project" /> <orderEntry type="library" name="Maven: org.beanshell:bsh:2.0b4" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-java:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-java:3.141.59" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-api:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-api:3.141.59" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-edge-driver:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-edge-driver:3.141.59" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-ie-driver:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-ie-driver:3.141.59" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-opera-driver:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-opera-driver:3.141.59" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-remote-driver:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-remote-driver:3.141.59" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-safari-driver:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-safari-driver:3.141.59" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-support:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-support:3.141.59" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.7.5" level="project" /> <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.8.15" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-exec:1.3" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-exec:1.3" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:25.0-jre" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.2" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:23.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" /> <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.0.18" level="project" /> <orderEntry type="library" name="Maven: org.checkerframework:checker-compat-qual:2.0.0" level="project" />
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.1.3" level="project" />
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" /> <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" /> <orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" /> <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.11.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" /> <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.14.0" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-firefox-driver:3.7.1" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-firefox-driver:3.141.59" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-chrome-driver:3.5.3" level="project" /> <orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-chrome-driver:3.141.59" level="project" />
<orderEntry type="library" name="Maven: cglib:cglib-nodep:3.2.4" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna:4.1.0" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna-platform:4.1.0" level="project" />
</component> </component>
</module> </module>

15
pom.xml
View File

@@ -2,10 +2,9 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.itnove.trainings.webdriver</groupId> <groupId>com.itnove.trainings.webdriver</groupId>
<artifactId>StartUsingWebDriver</artifactId> <artifactId>StartUsingWebDriver</artifactId>
<version>17.09.12</version> <version>19.02.19</version>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
@@ -22,14 +21,14 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <configuration>
<source>1.6</source> <source>8</source>
<target>1.6</target> <target>8</target>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>JunitMaven</name> <name>startUsingTestNG</name>
<url>http://maven.apache.org</url> <url>http://maven.apache.org</url>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -43,17 +42,17 @@
<dependency> <dependency>
<groupId>org.seleniumhq.selenium</groupId> <groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId> <artifactId>selenium-java</artifactId>
<version>3.7.1</version> <version>3.141.59</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.seleniumhq.selenium</groupId> <groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId> <artifactId>selenium-firefox-driver</artifactId>
<version>3.7.1</version> <version>3.141.59</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.seleniumhq.selenium</groupId> <groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId> <artifactId>selenium-chrome-driver</artifactId>
<version>3.5.3</version> <version>3.141.59</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

BIN
src/.DS_Store vendored Normal file

Binary file not shown.

BIN
src/main/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -32,14 +32,14 @@ public class BaseTest {
DesiredCapabilities capabilities; DesiredCapabilities capabilities;
if (browser != null && browser.equalsIgnoreCase("chrome")) { if (browser != null && browser.equalsIgnoreCase("chrome")) {
capabilities = DesiredCapabilities.chrome(); capabilities = DesiredCapabilities.chrome();
System.setProperty("webdriver.chrome.driver", "src" + File.separator + "main" + File.separator + "resources" + File.separator + "chromedriver-linux"); System.setProperty("webdriver.chrome.driver", "src" + File.separator + "main" + File.separator + "resources" + File.separator + "chromedriver-macos");
driver = new ChromeDriver(capabilities); driver = new ChromeDriver(capabilities);
} else { } else {
capabilities = DesiredCapabilities.firefox(); capabilities = DesiredCapabilities.firefox();
System.setProperty("webdriver.gecko.driver", System.setProperty("webdriver.gecko.driver",
"src" + File.separator + "main" "src" + File.separator + "main"
+ File.separator + "resources" + File.separator + "resources"
+ File.separator + "geckodriver-linux"); + File.separator + "geckodriver-macos");
driver = new FirefoxDriver(capabilities); driver = new FirefoxDriver(capabilities);
} }
//driver = new RemoteWebDriver(new URL("http://0.0.0.0:4444/wd/hub"), capabilities); //driver = new RemoteWebDriver(new URL("http://0.0.0.0:4444/wd/hub"), capabilities);

View File

@@ -32,7 +32,7 @@ public class JWPlayer extends BaseTest {
* @throws InterruptedException * @throws InterruptedException
*/ */
protected void waitForPlayer(WebDriver driver) throws InterruptedException { protected void waitForPlayer(WebDriver driver) throws InterruptedException {
wait.pause(2000); wait.pauseMilliseconds(2000);
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() { (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) { public Boolean apply(WebDriver d) {
return (executor.executeScript("return jwplayer().getState()") != null); return (executor.executeScript("return jwplayer().getState()") != null);
@@ -185,7 +185,7 @@ public class JWPlayer extends BaseTest {
public boolean assertStatePause() throws InterruptedException { public boolean assertStatePause() throws InterruptedException {
waitForPlayer(driver); waitForPlayer(driver);
executor.executeScript("jwplayer().pause()"); executor.executeScript("jwplayer().pauseMilliseconds()");
System.out.println(executor.executeScript("return jwplayer().getState()")); System.out.println(executor.executeScript("return jwplayer().getState()"));
return executor.executeScript("return jwplayer().getState()").equals("buffering") || return executor.executeScript("return jwplayer().getState()").equals("buffering") ||
executor.executeScript("return jwplayer().getState()").equals("paused"); executor.executeScript("return jwplayer().getState()").equals("paused");

View File

@@ -197,7 +197,7 @@ public class LocalNavigationActions extends Locators {
LocalRemoteWebDriverWait wait) { LocalRemoteWebDriverWait wait) {
int i = 0; int i = 0;
while (!WebElementExists(driver, element) && i < 20) { while (!WebElementExists(driver, element) && i < 20) {
wait.pause(1000); wait.pauseMilliseconds(1000);
i++; i++;
} }
return WebElementExists(driver, element); return WebElementExists(driver, element);

View File

@@ -7,9 +7,7 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.*; import org.openqa.selenium.support.ui.*;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static java.util.concurrent.TimeUnit.SECONDS;
/** /**
* Wraps LocalRemoteWebDriverWait to be used in a more convenient way and adds functionality. * Wraps LocalRemoteWebDriverWait to be used in a more convenient way and adds functionality.
@@ -121,10 +119,6 @@ public class LocalRemoteWebDriverWait extends WebDriverWait {
until(ExpectedConditions.stalenessOf(element)); until(ExpectedConditions.stalenessOf(element));
} }
public void forTextPresent(By locator, String text) {
until(ExpectedConditions.textToBePresentInElement(locator, text));
}
public void forTextPresentInElementValue(By locator, String text) { public void forTextPresentInElementValue(By locator, String text) {
until(ExpectedConditions.textToBePresentInElementValue(locator, text)); until(ExpectedConditions.textToBePresentInElementValue(locator, text));
} }
@@ -142,7 +136,7 @@ public class LocalRemoteWebDriverWait extends WebDriverWait {
if (e.getAttribute(textValue) != null) { if (e.getAttribute(textValue) != null) {
return Boolean.valueOf(e.getAttribute(textValue)); return Boolean.valueOf(e.getAttribute(textValue));
} }
pause(milliseconds); pauseMilliseconds(milliseconds);
} }
return Boolean.valueOf(null); return Boolean.valueOf(null);
} }
@@ -185,9 +179,9 @@ public class LocalRemoteWebDriverWait extends WebDriverWait {
return pageLoaded; return pageLoaded;
} }
public void pause(long milliseconds) { public void pauseMilliseconds(long milliseconds) {
try { try {
Sleeper.SYSTEM_SLEEPER.sleep(new Duration(milliseconds, MILLISECONDS)); TimeUnit.MILLISECONDS.sleep(milliseconds);
} catch (InterruptedException ie) { } catch (InterruptedException ie) {
System.out.println("Waiting finished during " + milliseconds + " milliseconds "); System.out.println("Waiting finished during " + milliseconds + " milliseconds ");
} }
@@ -195,7 +189,7 @@ public class LocalRemoteWebDriverWait extends WebDriverWait {
public void pauseSeconds(long seconds) { public void pauseSeconds(long seconds) {
try { try {
Sleeper.SYSTEM_SLEEPER.sleep(new Duration(seconds, SECONDS)); TimeUnit.SECONDS.sleep(seconds);
} catch (InterruptedException ie) { } catch (InterruptedException ie) {
System.out.println("Waiting finished during " + seconds + " seconds "); System.out.println("Waiting finished during " + seconds + " seconds ");
} }