Quick Start of running Selenium WebDriver against PhantomJS in Java on Windows (Plain Java)

This is the quickstart without Maven, without IDE – just plain Java. For the quickstart with Maven look here
The browser with the probably highest speed and lowest memory consumption in Selenium world: the headless PhantomJS
[25.Feb.2014]: Ghostdriver is not ripe yet due to lack of enough stable maintainers: https://github.com/detro/ghostdriver/issues/140
[Note]: The development of Selenium and GhostDriver (which is the bridge between PhantomJS and Selenium) isn’t synchronized yet. So maybe the most actual versions of Selenium Server and GhostDriver may not work together. An (older) combination that fits:
* PhantomJS 1.9.2
* GhostDriver 1.0.4
* Selenium 2.34
1.) If you haven’t done yet, download the Java JDK from the download page (take the most actual Java Platform (JDK)). Execute it and follow the wizard. After that, set PATH.
2.) Download Selenium-Server-Standalone(!) 2.34.0 from
http://code.google.com/p/selenium/downloads/list?can=1&q=
On my notebook I have put it in C:\Users\IT Kosmopolit
3.) Download phantomjs-1.9.2-windows.zip here and extract it to C:\Program Files (x86)
4.) Add C:\Program Files (x86)\phantomjs-1.9.2-windows to the PATH-variable
5.) Download phantomjsdriver 1.0.4 from
http://mvnrepository.com/artifact/com.github.detro.ghostdriver/phantomjsdriver/1.0.4
On my notebook I have put it in C:\Users\IT Kosmopolit
6.) Save the following codesnippet as Example.java. On my notebook I have put it in C:\Users\IT Kosmopolit
Sample Code

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
public class Example {
public static void main(String[] args) {
WebDriver driver = new PhantomJSDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("Cheese!");
element.submit();
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
}
}

7.) Open the Command Prompt and compile with javac:

javac -classpath "C:\Users\IT Kosmopolit\selenium-server-standalone-2.34.0.jar;C:\Users\IT Kosmopolit\phantomjsdriver-1.0.4.jar" Example.java

8.) Execute in the Command Prompt

java -classpath .;"C:\Users\IT Kosmopolit\selenium-server-standalone-2.34.0.jar;C:\Users\IT Kosmopolit\phantomjsdriver-1.0.4.jar" Example

9.) If you get a result like this, you’re done
success

Quick Start of running Selenium WebDriver against PhantomJS in Java on Windows (with Maven)

This is the quickstart with Maven. For a quickstart without Maven, look here
The browser with the probably highest speed and lowest memory consumption in Selenium world: the headless PhantomJS
[Update 26.11.2013]: Ghostdriver is not ripe yet due to lack of enough stable maintainers: https://github.com/detro/ghostdriver/issues/140
[Note]: The development of Selenium and GhostDriver (which is the bridge between PhantomJS and Selenium) isn’t synchronized yet. So maybe the most actual versions of Selenium Server and GhostDriver may not work together. A combination that fits:
* PhantomJS 1.9.2
* GhostDriver 1.0.4
* Selenium 2.34
Setup is really quick
1.) Download phantomjs-1.9.2-windows.zip here and extract it to C:\Program Files (x86)
2.) Add C:\Program Files (x86)\phantomjs-1.9.2-windows to the PATH-variable
3.) Add in pom.xml

        <dependency>
            <groupId>com.github.detro.ghostdriver</groupId>
            <artifactId>phantomjsdriver</artifactId>
            <version>1.0.4</version>
        </dependency>

4.) Maybe change the version of selenium in pom.xml

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>2.34.0</version>
        </dependency>

Sample Code

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
public class Example {
    public static void main(String[] args) {
        WebDriver driver = new PhantomJSDriver();
        driver.get("http://www.google.com");
        WebElement element = driver.findElement(By.name("q"));
        element.sendKeys("Cheese!");
        element.submit();
        System.out.println("Page title is: " + driver.getTitle());
        driver.quit();
    }
}

Looks so good
… if you’ve done right – your result should look like that:
GhostDriver_Selenium_PhantomJS
Speedy Testing!

German Testing Day 2013

Some crumbs of that day:
– Great Keynote by Michael Palotas, Head of Productivity & Test Engineering Europe.
– Facebook has no manual testers at all. This reflects the testing world in 10 years.
– A tester in a scrum team may be called ‚embedded tester‘.
– Testers probably have the best overview of the product compared to the rest of the company.
– eBay (Francois Reynaud) has developed iOs Driver, Selendroid (which is to some extent a base of Appium) and Selenium Grid -> Selenium isn’t just a project of individual geeks, it’s also driven by the big internet companies (google, ebay, facebook, …).
– eBay Europe uses almost no test specifications, test plans, test concepts (=secondary test artifacts) or closed-source tools
– Selenium IDE has chasen away people (due to maintenance nightmare!)
– There are more than 2000 different Android devices – happy testing!
– Main challegenge with crowdtesting is the aggregation of the feedback/findings.
– Keeping up-to-date the specification is harder in JBehave (et al.) than in FitNesse.
– Selenium is also used in game-testing – think of browser games!

Anpacken!