My Weekday in Java

GEEK MODE!

Let me share with you my typical day through a Test Script.

For those who are not in the Software Development, Software Testing, and Software Programming worlds - this may be too much for you. But don't you worry, normal blog posts will resume after this geeky post. =)

To my fellow techie-guys - ENJOY! =)

/* ---------------------------------------------------------------------------------- */
package myWeekdays;

import com.thoughtworks.selenium.*;
import org.testng.annotations.*;
import org.testng.Reporter;
import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class MyDay {
private Selenium selenium;
private Boolean assertChecker;
private String errorShot = System.getProperty("user.dir") + "\\SomethingIsWrong\\";
private String inputFile;
protected static HttpCommandProcessor proc;
public void setInputFile(String inputFile) {
this.inputFile = inputFile;
}
public String getDateTime() {
        DateFormat dateFormat = new SimpleDateFormat("MM.dd.yyyy");
        Date date = new Date();
        return dateFormat.format(date);
    }
public String getLunchTime() {
        DateFormat dateFormat = new SimpleDateFormat("hh:mm");
        Date date = new Date();
        return dateFormat.format(date);
    }
    public void assertElementPresent (String elementName, String description){
     assertChecker = selenium.isElementPresent(elementName);
if(assertChecker.equals(false)) {
String fileName = description + "_" + getDateTime() + ".png";
selenium.captureEntirePageScreenshot(errorShot + fileName, "");
}
return;
    }
@BeforeClass
public void setup() throws IOException {
setInputFile(System.getProperty("user.dir") + "\\WhatINeed.xls");
File inputWorkbook = new File(inputFile);
Workbook w;
try {
w = Workbook.getWorkbook(inputWorkbook);
Sheet config = w.getSheet(0);
String myDay = config.getCell(1, 0).getContents();
String happyThoughtsAndPatience = config.getCell(1, 1).getContents();
proc = new HttpCommandProcessor("localhost", 4444, happyThoughtsAndPatience, myDay);
selenium = new DefaultSelenium(proc);
selenium.start();
selenium.windowFocus();
selenium.windowMaximize();
}
catch (BiffException e) {
Reporter.log("I am not in a good mood!");
e.printStackTrace();
}

catch (Exception e) {
Reporter.log("My day is a mess!");
e.printStackTrace();
}
}
@Test public void myMorning() throws IOException {
setInputFile(System.getProperty("user.dir") + "\\WhatINeed.xls");
File inputWorkbook = new File(inputFile);
Workbook w;
String[] idleTime = { "30000" };
try {
w = Workbook.getWorkbook(inputWorkbook);
Sheet config = w.getSheet(0);
Sheet sheet = w.getSheet(1);
String myDay = config.getCell(1, 0).getContents();
String speed = config.getCell(1, 2).getContents();
String timeOut = config.getCell(1, 3).getContents();
String waitTime = config.getCell(1, 4).getContents();
String breakfast = sheet.getCell(1, 1).getContents();
String outfit = sheet.getCell(1, 2).getContents();
selenium.setSpeed(speed);
selenium.setTimeout(timeOut);
selenium.open(myDay);
selenium.waitForPageToLoad(waitTime);
selenium.click("link=Wake Up Ring");
selenium.waitForPageToLoad(waitTime);
proc.doCommand("watchA4jRequests", null);
selenium.click("link=Morning News");
proc.doCommand("waitForA4jRequest", idleTime);
selenium.type("whatToEat", breakfast);
selenium.click("link=Take a shower");
selenium.waitForPageToLoad(waitTime);
selenium.type("whatToWear", outfit);
selenium.click("link=Prepare to leave home");
selenium.waitForPageToLoad(waitTime);
assertElementPresent("IsEverythingOkay", "NeedToDoWhatIForgotToDo");
selenium.click("link=Leave home");
selenium.waitForPageToLoad(waitTime);
selenium.click("link=Ride to office");
selenium.waitForPageToLoad(waitTime);
assertElementPresent("IsTheRideAndTrafficOkay", "NeedToInformTeamForComingInLate");
}
catch (BiffException e) {
Reporter.log("Nothing to eat. Nothing to wear.");
e.printStackTrace();
}

catch (Exception e) {
Reporter.log("Cannot go to work. Need to inform team.");
e.printStackTrace();
}

}
@Test (alwaysRun=false, dependsOnMethods = { "myMorning" })
public void atWork() throws IOException {
setInputFile(System.getProperty("user.dir") + "\\WhatINeed.xls");
File inputWorkbook = new File(inputFile);
Workbook w;
String[] idleTime = { "30000" };
try {
w = Workbook.getWorkbook(inputWorkbook);
Sheet config = w.getSheet(0);
Sheet sheet = w.getSheet(2);
String waitTime = config.getCell(1, 4).getContents();
int hoursAtWork = 0;
String softwareTestingAndMeetings = sheet.getCell(1, 2).getContents();
String osgLunchOrSMXLunch = sheet.getCell(1, 3).getContents();
String thingsToDoWhileIdle = sheet.getCell(1, 3).getContents();
String currentTime;
String exactLunch = "12:00";
selenium.click("link=Open up all needed files and things to do");
selenium.waitForPageToLoad(waitTime);
proc.doCommand("watchA4jRequests", null);
selenium.click("link=Chat");
proc.doCommand("waitForA4jRequest", idleTime);
selenium.click("link=Eat Snacks");
proc.doCommand("waitForA4jRequest", idleTime);
while(hoursAtWork < 8){
selenium.type("workWorkWork", softwareTestingAndMeetings);
assertElementPresent("isWorkOkay", "ReportThatWorkIsNotOkay");
if(assertChecker.equals(false)){
selenium.type("WhatToDo", thingsToDoWhileIdle);
}
currentTime = getLunchTime();
if(currentTime.equals(exactLunch)){
selenium.type("Lunch", osgLunchOrSMXLunch);
}
hoursAtWork++;
}
selenium.click("link=Logout");
selenium.waitForPageToLoad(waitTime);
}
catch (BiffException e) {
Reporter.log("Running out of Tasks.");
e.printStackTrace();
}

catch (Exception e) {
Reporter.log("Something is wrong. Maybe it is a sign to.... =)");
e.printStackTrace();
}

}

@Test (alwaysRun=false, dependsOnMethods = { "atWork" })
public void afterWork() throws IOException {
setInputFile(System.getProperty("user.dir") + "\\WhatINeed.xls");
File inputWorkbook = new File(inputFile);
Workbook w;
String[] idleTime = { "30000" };
try {
w = Workbook.getWorkbook(inputWorkbook);
Sheet config = w.getSheet(0);
Sheet sheet = w.getSheet(3);
String waitTime = config.getCell(1, 4).getContents();
String gimmiks = sheet.getCell(1, 2).getContents();
selenium.click("link=Are there gimmiks for the night?");
selenium.waitForPageToLoad(waitTime);
assertElementPresent("GimmiksSet", "JustGoHome");
if(assertChecker.equals(true)){
selenium.type("nightOut", gimmiks);
}
selenium.click("link=Go home");
selenium.waitForPageToLoad(waitTime);
proc.doCommand("watchA4jRequests", null);
selenium.click("link=Read");
proc.doCommand("waitForA4jRequest", idleTime);
selenium.click("link=Midnight Snacks");
proc.doCommand("waitForA4jRequest", idleTime);
selenium.click("link=Watch TV");
proc.doCommand("waitForA4jRequest", idleTime);
selenium.click("link=Sleep");
}
catch (BiffException e) {
Reporter.log("Gimmik planning failed.");
e.printStackTrace();
}

catch (Exception e) {
Reporter.log("Unable to go home! Stranded? or BASAG from the gimmik? =)");
e.printStackTrace();
}

}

@AfterClass
public void tearDown() {
selenium.stop();
}

}
/* ---------------------------------------------------------------------------------- */

Java on!
~Lyndon Jason

Author : Lyndon Jason ~ The Webmaster

The article "My Weekday in Java" was published on Oct 21, 2010. For comments, suggestions, or anything that you want to tell the author, feel free to use the various media on the sidebar "Follow Lyndon Speaks". Thank you and may you always have a good day!