CryptoJones icon

Xpanxion Interview Program

CryptoJones | PRO | 04/07/16 03:08:16 PM UTC | 0 ⭐ | 924 👁️ | Never ⏰ | []
Java |

5.13 KB

|

None

|

0 👍

/

0 👎

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package seleniumtest1;
 
import java.text.DateFormatSymbols;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
 
/**
 *
 * @author akclark
 */
public class SeleniumTest1 {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
 
        String[] months = new DateFormatSymbols().getMonths();
        for (int i = 0; i < 12; i++) {
 
            String month = months[i];
            checkImages(month);
            checkEmail(month);
            checkDesc(month);
            checkPrice(month);
 
        }
    }
 
    public static int checkImages(String month) {
        int exitCode;
        int shoeCount = 0;
        String baseURL = "http://shoestore-manheim.rhcloud.com/";
        WebDriver driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get(baseURL);
        driver.findElement(By.linkText(month)).click();
 
        try {
            List<WebElement> allElements = driver.findElements(By.xpath("//*[@id='shoe_list']/li"));
 
            if (allElements.isEmpty()) {
                System.out.println("No shoes found for " + month);
            }
 
            for (WebElement element : allElements) {
                shoeCount++;
                WebElement image = element.findElement(By.tagName("img"));
 
                if (image.getAttribute("src").length() < 12) {
                    System.out.println("No image Found for shoe # " + shoeCount + " in " + month);
                }
            }
 
        } finally {
            exitCode = 1;
        }
 
        driver.close();
        return exitCode;
    }
 
    public static int checkDesc(String month) {
        int shoeCount = 0;
        int exitCode;
        String baseURL = "http://shoestore-manheim.rhcloud.com/";
        WebDriver driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get(baseURL);
        driver.findElement(By.linkText(month)).click();
 
        try {
            List<WebElement> allElements = driver.findElements(By.xpath("//*[@id='shoe_list']/li"));
 
            if (allElements.isEmpty()) {
                System.out.println("No shoes found for " + month);
            }
 
            for (WebElement element : allElements) {
                shoeCount++;
                WebElement description = element.findElement(By.className("shoe_description"));
                if (description.getText().length() < 1) {
                    System.out.println("No Desc Found for shoe # " + shoeCount + " in " + month);
                }
            }
 
        } finally {
            exitCode = 1;
        }
 
        driver.close();
        return exitCode;
    }
 
    public static int checkPrice(String month) {
        int exitCode;
        int shoeCount = 0;
        String baseURL = "http://shoestore-manheim.rhcloud.com/";
        WebDriver driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get(baseURL);
        driver.findElement(By.linkText(month)).click();
 
        try {
            List<WebElement> allElements = driver.findElements(By.xpath("//*[@id='shoe_list']/li"));
 
            if (allElements.isEmpty()) {
                System.out.println("No shoes found for " + month);
            }
 
            for (WebElement element : allElements) {
                shoeCount++;
                WebElement price = element.findElement(By.className("shoe_price"));
                if (price.getText().length() < 1) {
                    System.out.println("No price found for shoe # " + shoeCount + " in " + month);
                }
            }
 
        } finally {
            exitCode = 1;
        }
        driver.close();
        return exitCode;
    }
 
    public static int checkEmail(String month) {
        int exitCode;
        String baseURL = "http://shoestore-manheim.rhcloud.com/";
        WebDriver driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get(baseURL);
        driver.findElement(By.linkText(month)).click();
        WebElement email = driver.findElement(By.name("email"));
        email.sendKeys("[email protected]");
        email.submit();
        if (driver.getPageSource().contains("Thanks! We will notify you of our new shoes at this email: [email protected]")) {
            exitCode = 0;
        } else {
            exitCode = -1;
        }
        driver.close();
        return exitCode;
    }
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎