Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
dist: xenial
language: java
dist: trusty


jdk:
- oraclejdk8

addons:
chrome: stable
#addons:
# apt:
# packages:
# - oracle-java8-installer

before_script:
- google-chrome --version
- docker-compose up -d
- sleep 3
- docker restart angular-api



script:
-mvn clean test -Dbrowser="headless" -Ddataset="speed-data.json"
-mvn clean test -Dbrowser="headless" -Ddataset="reliability-data.json"
- mvn clean test -Dbrowser="headless" -Ddataset="speed-data.json"
- mvn clean test -Dbrowser="headless" -Ddataset="reliability-data.json"
6 changes: 1 addition & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,13 @@
<groupId>com.safebear.auto</groupId>
<artifactId>autotest</artifactId>

<packaging>war</packaging>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>

<name>autotest</name>

<url>http://www.safebear.co.uk</url>

<properties>
<tomcat.version>7.0.57</tomcat.version>
</properties>

<dependencies>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
Expand Down
7 changes: 6 additions & 1 deletion src/test/java/com/safebear/auto/tests/BaseTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeTest;

import java.io.IOException;

public abstract class BaseTest extends Utils {


Expand Down Expand Up @@ -105,10 +107,13 @@ public void setUp(){
}

@BeforeMethod
public void setUpTest(){
public void setUpTest() {
browser.get(URL);
}




@AfterTest
public void tearDown(){

Expand Down
59 changes: 52 additions & 7 deletions src/test/java/com/safebear/auto/utils/Utils.java
Original file line number Diff line number Diff line change
@@ -1,46 +1,57 @@
package com.safebear.auto.utils;

import org.openqa.selenium.By;
import org.openqa.selenium.TimeoutException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import static org.mortbay.util.IO.copy;

public abstract class Utils {

// Get our URL and Browsername from the CI or use the default
protected static final String URL = System.getProperty("url", "localhost:8888");
protected static final String URL = System.getProperty("url", "http://localhost:8080");
private static final String BROWSERNAME = System.getProperty("browser", "chrome");
private static final String WAIT = System.getProperty( "waitTime", "10");


// This will be used to store an instance of our driver (e.g. ChromeDriver, GeckoDriver etc)
protected static WebDriver browser;


protected static void initializeBrowser() {

System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/chromedriver");
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/chromedriver-73");
System.setProperty("webdriver.firefox.driver", "src/test/resources/drivers/geckodriver");

ChromeOptions options = new ChromeOptions();
options.addArguments("window-size=1366,768");


switch (BROWSERNAME) {

case "chrome":
options.addArguments("window-size=1366,768");
browser = new ChromeDriver(options);
break;

case "headless":
options.addArguments("headless");
//browser.manage().window().setSize(new Dimension(1280,1696));
browser = new ChromeDriver(options);
break;

case "headlessChromeTravis":
options.addArguments("headless", "whitelisted-ips", "no-sandbox","disable-extensions");
browser = new ChromeDriver(options);
break;

Expand All @@ -57,6 +68,39 @@ protected static void initializeBrowser() {
}
}

// public static String generateScreenShotFileName(){
//
// //create filename
//
// return new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Date()) + ".png";
// }
//
// public static void captureScreenShot(WebDriver driver, String fileName){
//
// fileName = "Element not found - " + fileName;
//
//
// //Take screenshot
// File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
//
// //Make sure that the 'screenshots' directory exists
// File file = new File("target/screenshots");
// if(!file.exists()){
// if (file.mkdir()){
// System.out.println("Directory is created!");
// }else{
// System.out.println("Failed to create directory!");
// }
// }
//
// //Copy file to filename and location we set before
// try {
// copy(srcFile, new File("target/screenshots/" + fileName));
// }catch(IOException e){
// e.printStackTrace();
// }
// }

protected static WebElement waitForElement(By locator){

WebElement element = null;
Expand All @@ -70,6 +114,7 @@ protected static WebElement waitForElement(By locator){
}catch (TimeoutException e){

e.printStackTrace();
//captureScreenShot(browser,generateScreenShotFileName());
Assert.fail("Timeout: The element couldn't be found in " + WAIT + " seconds!");

}catch (Exception e){
Expand Down
Binary file added src/test/resources/drivers/chromedriver-73
Binary file not shown.
Binary file added src/test/resources/drivers/chromedriver-74
Binary file not shown.