Removed implicit wait
added page load timeout
CHANGED: added Test Case 3 and Test Case 9
CHANGED: replaced remaining assertTrue by assertThat
Fix docker war creation
Printing the test being run, like JenkinsRule does.
Merge branch 'lower-timeouts' of https://github.com/jenkins-acceptance-test-group/acceptance-test-harness
Merge branch 'nlptest' of https://github.com/appls/acceptance-test-harness
Merge branch 'docker-fix' of https://github.com/jenky-hm/acceptance-test-harness
Describing how to run tests with Xvnc.
Hiding bottom sticker while we click menu.

The error I get otherwise is this:

    And I add a shell build step "sleep 20"   # JobConfigurationSteps.I_add_a_shell_build_step(String)
      org.openqa.selenium.WebDriverException: unknown error: Element is not clickable at point (277, 656). Other element would receive the click: <div class="bottom-sticker-inner">...</div>
        (Session info: chrome=34.0.1847.132)
        (Driver info: chromedriver=2.10.267518,platform=Linux 3.8.0-35-generic x86_64) (WARNING: The server did not provide any stacktrace information)
      Command duration or timeout: 21 milliseconds
      Build info: version: '2.40.0', revision: '4c5c0568b004f67810ee41c459549aa4b09c651e', time: '2014-02-19 11:13:01'
      System info: host: 'elf', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.8.0-35-generic', java.version: '1.7.0_07'
      Session ID: 37528a27abb5661c3c6a859cd8668be3
      Driver info: org.openqa.selenium.chrome.ChromeDriver
      Capabilities [{platform=LINUX, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=/tmp/.com.google.Chrome.rkeyaR}, rotatable=false, locationContextEnabled=true, version=34.0.1847.132, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, nativeEvents=true, webStorageEnabled=true, applicationCacheEnabled=false, takesScreenshot=true}]
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
      	at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
      	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
      	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:573)
      	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
      	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:79)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement$1.invoke(EventFiringWebDriver.java:331)
      	at $Proxy58.click(Unknown Source)
      	at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.click(EventFiringWebDriver.java:344)
      	at org.jenkinsci.test.acceptance.po.CapybaraPortingLayer.selectDropdownMenu(CapybaraPortingLayer.java:223)
      	at org.jenkinsci.test.acceptance.po.Job$2.resolve(Job.java:92)
      	at org.jenkinsci.test.acceptance.po.CapybaraPortingLayer$Resolver.find(CapybaraPortingLayer.java:315)
      	at org.jenkinsci.test.acceptance.po.CapybaraPortingLayer.findCaption(CapybaraPortingLayer.java:298)
      	at org.jenkinsci.test.acceptance.po.Job.addStep(Job.java:90)
      	at org.jenkinsci.test.acceptance.po.Job.addBuildStep(Job.java:75)
      	at org.jenkinsci.test.acceptance.po.Job.addShellStep(Job.java:116)
      	at org.jenkinsci.test.acceptance.steps.JobConfigurationSteps.I_add_a_shell_build_step(JobConfigurationSteps.java:21)
      	at ✽.And I add a shell build step "sleep 20"(freestyle_build.feature:35)
Some tests now seem to be producing stdout, which should be redirected.

This makes the Maven console output cleaner, which helps us spot
failures as it happens.
-q will only print image ID, but we want the tag name.

See the example output below for reference:

[~/ws/jenkins/acceptance-test-harness@elf] (master)
% docker images -q jenkins/git
8358d533fa3f
[~/ws/jenkins/acceptance-test-harness@elf] (master)
% docker images jenkins/git
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
jenkins/git         8a32ffed0448        8358d533fa3f        About a minute ago   113.1 kB (virtual 432 MB)
Keep track of the current test name.

This is useful with Sauce OnDemand integration
expose test name to Sauce OnDemand
Making it work better with Sauce OnDemand.
choosing a bit more modern version as the basis
Looks like quit() is the real method.

... whereas close() just closes the current window
Perhaps my original change was incorrect in that Which.jarFile() finds a directory if the class file is in a directory?
Added more convenience methods
These key files are used for Docker fixtures, so they are useful to other modules that depend on this harness