diff --git a/drone-demo/pom.xml b/drone-demo/pom.xml index 889c80a..4102bd1 100644 --- a/drone-demo/pom.xml +++ b/drone-demo/pom.xml @@ -350,6 +350,60 @@ + + repeated-drone-execution + + + + maven-surefire-plugin + + + **/RepeatedDroneTest* + + + + + default-test + + test + + test + + true + + + + firefox8 + + test + + test + + + arquillian-ff9.xml + ff9 + + + + + chrome17 + + test + + test + + + arquillian-ch17.xml + ch17 + + + + + + + + + @@ -366,8 +420,25 @@ ROOT + + maven-surefire-plugin + + + openshift + + + + + + + org.jboss.arquillian.container + arquillian-openshift-express + 1.0.0.Alpha1 + test + + diff --git a/drone-demo/src/test/java/com/acme/example/test/AjocadoTest.java b/drone-demo/src/test/java/com/acme/example/test/AjocadoTest.java new file mode 100644 index 0000000..1328b24 --- /dev/null +++ b/drone-demo/src/test/java/com/acme/example/test/AjocadoTest.java @@ -0,0 +1,46 @@ +package com.acme.example.test; + +import static org.jboss.arquillian.ajocado.Ajocado.guardXhr; +import static org.jboss.arquillian.ajocado.Ajocado.id; + +import java.net.URL; + +import org.jboss.arquillian.ajocado.framework.AjaxSelenium; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.drone.api.annotation.Drone; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.shrinkwrap.resolver.api.maven.MavenImporter; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(Arquillian.class) +public class AjocadoTest { + + @ArquillianResource + URL contextPath; + + @Deployment(testable = false) + public static Archive getApplicationDeployment() { + return ShrinkWrap.create(MavenImporter.class).loadEffectivePom("pom.xml").importBuildOutput().as(WebArchive.class); + } + + @Test + public void xhrAjocadoTest(@Drone AjaxSelenium ajocado) { + ajocado.open(contextPath); + + ajocado.type(id("name"), "Samuel Vimes"); + ajocado.type(id("email"), "samuel@vimes.dw"); + ajocado.type(id("phoneNumber"), "1234567890"); + + // see the guard? we are waiting for an XHR request here + guardXhr(ajocado).click(id("register")); + + Assert.assertTrue("Vimes was registered", ajocado.isTextPresent("Samuel Vimes")); + } + +} diff --git a/drone-demo/src/test/java/com/acme/example/test/Chrome1.java b/drone-demo/src/test/java/com/acme/example/test/Chrome1.java deleted file mode 100644 index f4df3a4..0000000 --- a/drone-demo/src/test/java/com/acme/example/test/Chrome1.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.acme.example.test; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.jboss.arquillian.drone.api.annotation.Qualifier; - -@Retention(RetentionPolicy.RUNTIME) -@Qualifier -@Target({ ElementType.FIELD, ElementType.PARAMETER }) -public @interface Chrome1 { - -} diff --git a/drone-demo/src/test/java/com/acme/example/test/Chrome2.java b/drone-demo/src/test/java/com/acme/example/test/Chrome2.java deleted file mode 100644 index 55503b1..0000000 --- a/drone-demo/src/test/java/com/acme/example/test/Chrome2.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.acme.example.test; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.jboss.arquillian.drone.api.annotation.Qualifier; - -@Retention(RetentionPolicy.RUNTIME) -@Qualifier -@Target({ ElementType.FIELD, ElementType.PARAMETER }) -public @interface Chrome2 { - -} diff --git a/drone-demo/src/test/java/com/acme/example/test/RepeatedDroneTest.java b/drone-demo/src/test/java/com/acme/example/test/RepeatedDroneTest.java new file mode 100644 index 0000000..805ae81 --- /dev/null +++ b/drone-demo/src/test/java/com/acme/example/test/RepeatedDroneTest.java @@ -0,0 +1,43 @@ +package com.acme.example.test; + +import java.net.URL; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.drone.api.annotation.Drone; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.shrinkwrap.resolver.api.maven.MavenImporter; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; + +@RunWith(Arquillian.class) +public class RepeatedDroneTest { + + @ArquillianResource + URL contextPath; + + @Deployment(testable = false) + public static Archive getApplicationDeployment() { + return ShrinkWrap.create(MavenImporter.class).loadEffectivePom("pom.xml").importBuildOutput().as(WebArchive.class); + } + + @Test + public void simpleWebdriverTest(@Drone WebDriver webdriver) { + webdriver.get(contextPath.toString()); + + webdriver.findElement(By.id("name")).sendKeys("Samuel"); + webdriver.findElement(By.id("email")).sendKeys("samuel@vimes.dw"); + webdriver.findElement(By.id("phoneNumber")).sendKeys("1234567890"); + webdriver.findElement(By.id("register")).submit(); + + // FIXME with Ajocado, you can wait for a request + Assert.assertTrue(true); + } + +} diff --git a/drone-demo/src/test/resources/arquillian-ch17.xml b/drone-demo/src/test/resources/arquillian-ch17.xml new file mode 100644 index 0000000..80a616e --- /dev/null +++ b/drone-demo/src/test/resources/arquillian-ch17.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + /home/kpiwko/jboss-as-7.1.0.CR1b + + + + + org.openqa.selenium.chrome.ChromeDriver + /opt/google/chrome/chrome + --user-data-dir=/tmp --disable-web-security + + + diff --git a/drone-demo/src/test/resources/arquillian-ff9.xml b/drone-demo/src/test/resources/arquillian-ff9.xml new file mode 100644 index 0000000..a49648c --- /dev/null +++ b/drone-demo/src/test/resources/arquillian-ff9.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + /home/kpiwko/jboss-as-7.1.0.CR1b + + + + + org.openqa.selenium.firefox.FirefoxDriver + /opt/firefox-9.0.1/firefox-bin + + + diff --git a/drone-demo/src/test/resources/arquillian.xml b/drone-demo/src/test/resources/arquillian.xml index e3da0a5..27d8fe5 100644 --- a/drone-demo/src/test/resources/arquillian.xml +++ b/drone-demo/src/test/resources/arquillian.xml @@ -15,7 +15,18 @@ - /path/to/jboss/as + /home/kpiwko/jboss-as-7.1.0.CR1b + + + + + + arqtest + drone + 2a15cbe193da441f9f3a9aa4039695b1 + + + kpiwko@redhat.com @@ -32,4 +43,4 @@ --user-data-dir=/tmp --disable-web-security - \ No newline at end of file +