You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2019/01/03 16:51:37 UTC
[tomee] 02/04: Basic Selenium happy-path test
This is an automated email from the ASF dual-hosted git repository.
jgallimore pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
commit 573272e4412484d30cee88b1306df9926e7e3fd9
Author: Jonathan Gallimore <jo...@jrg.me.uk>
AuthorDate: Thu Jan 3 14:58:13 2019 +0000
Basic Selenium happy-path test
---
examples/mvc-cxf/pom.xml | 7 ++-
.../src/test/java/org/superbiz/mvc/MVCTest.java | 67 +++++++++++++---------
2 files changed, 47 insertions(+), 27 deletions(-)
diff --git a/examples/mvc-cxf/pom.xml b/examples/mvc-cxf/pom.xml
index 6f1afb7..2653c67 100644
--- a/examples/mvc-cxf/pom.xml
+++ b/examples/mvc-cxf/pom.xml
@@ -162,7 +162,12 @@
</exclusion>
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>org.apache.tomee</groupId>
+ <artifactId>ziplock</artifactId>
+ <version>8.0.0-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<!--
diff --git a/examples/mvc-cxf/src/test/java/org/superbiz/mvc/MVCTest.java b/examples/mvc-cxf/src/test/java/org/superbiz/mvc/MVCTest.java
index cd54922..ac51143 100644
--- a/examples/mvc-cxf/src/test/java/org/superbiz/mvc/MVCTest.java
+++ b/examples/mvc-cxf/src/test/java/org/superbiz/mvc/MVCTest.java
@@ -16,26 +16,26 @@
*/
package org.superbiz.mvc;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.net.URL;
-
+import org.apache.ziplock.maven.Mvn;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.RunAsClient;
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.ShrinkWrap;
-import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.spec.WebArchive;
-import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.ui.Select;
+
+import java.net.URL;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
@RunWith(Arquillian.class)
public class MVCTest {
@@ -48,27 +48,42 @@ public class MVCTest {
@Deployment
public static WebArchive createDeployment() {
- File[] files = Maven.resolver()
- .loadPomFromFile("pom.xml")
- .importRuntimeDependencies()
- .resolve()
- .withTransitivity()
- .asFile();
- return ShrinkWrap.create(WebArchive.class, "test.war")
- .addPackages(true, "org.superbiz.mvc")
- .addAsLibraries(files)
- .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
- .addAsWebInfResource(new File("src/main/webapp/WEB-INF/web.xml"), "/web.xml")
- .addAsWebInfResource(new File("src/main/webapp/WEB-INF/views/hello.jsp"), "/views/hello.jsp");
+ final Archive<?> war = Mvn.war();
+ System.out.println(war.toString(true));
+ return (WebArchive) war;
}
@Test
@RunAsClient
- public void test() {
- webDriver.get(this.base.toExternalForm() + "app/hello?name=TomEE");
- WebElement h1 = webDriver.findElement(By.tagName("h1"));
- assertNotNull(h1);
- assertTrue(h1.getText().contains("Welcome TomEE !"));
+ public void testAssertUserCanBeAdded() throws Exception {
+ webDriver.get(this.base.toExternalForm() + "app/home");
+ webDriver.findElement(By.linkText("Peoples")).click();
+ webDriver.findElement(By.linkText("Add Registres")).click();
+ webDriver.findElement(By.id("name")).click();
+ webDriver.findElement(By.id("name")).clear();
+ webDriver.findElement(By.id("name")).sendKeys("Joe Bloggs");
+ webDriver.findElement(By.id("age")).clear();
+ webDriver.findElement(By.id("age")).sendKeys("42");
+ webDriver.findElement(By.id("state")).clear();
+ webDriver.findElement(By.id("state")).sendKeys("California");
+ webDriver.findElement(By.name("server")).click();
+ webDriver.findElement(By.id("country")).click();
+ new Select(webDriver.findElement(By.id("country"))).selectByVisibleText("United States");
+ webDriver.findElement(By.id("description")).click();
+ webDriver.findElement(By.id("description")).clear();
+ webDriver.findElement(By.id("description")).sendKeys("This is a test");
+ webDriver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)='Description:'])[1]/following::button[1]")).click();
+
+ final WebElement element = webDriver.findElement(By.id("success-alert"));
+ assertNotNull(element);
+ assertTrue(element.getText().contains("Joe Bloggs was successfully registered"));
+
+ assertEquals("Joe Bloggs", webDriver.findElement(By.xpath("//*[@id=\"tableData\"]/tbody/tr[1]/td[1]")).getText());
+ assertEquals("42", webDriver.findElement(By.xpath("//*[@id=\"tableData\"]/tbody/tr[1]/td[2]")).getText());
+ assertEquals("United States", webDriver.findElement(By.xpath("//*[@id=\"tableData\"]/tbody/tr[1]/td[3]")).getText());
+ assertEquals("California", webDriver.findElement(By.xpath("//*[@id=\"tableData\"]/tbody/tr[1]/td[4]")).getText());
+ assertEquals("TomEE", webDriver.findElement(By.xpath("//*[@id=\"tableData\"]/tbody/tr[1]/td[5]")).getText());
+ assertEquals("This is a test", webDriver.findElement(By.xpath("//*[@id=\"tableData\"]/tbody/tr[1]/td[6]")).getText());
}
}
\ No newline at end of file