[jboss-svn-commits] JBL Code SVN: r38248 - in labs/jbosstm/branches/JBOSSTS_4_16: XTS/demo-test/src/test/java/org/jboss/jbossts/xts/demotest and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Nov 16 04:11:23 EST 2012
Author: ochaloup
Date: 2012-11-16 04:11:22 -0500 (Fri, 16 Nov 2012)
New Revision: 38248
Modified:
labs/jbosstm/branches/JBOSSTS_4_16/XTS/demo-test/pom.xml
labs/jbosstm/branches/JBOSSTS_4_16/XTS/demo-test/src/test/java/org/jboss/jbossts/xts/demotest/XTSDemoTest.java
labs/jbosstm/branches/JBOSSTS_4_16/txbridge/demo-test/pom.xml
labs/jbosstm/branches/JBOSSTS_4_16/txbridge/demo-test/src/test/java/org/jboss/jbossts/txbridge/demotest/TxBridgeDemoTest.java
Log:
XTS and TXBridge demo tests: reworking to use Selenium2 and HtmlUnitDriver
Modified: labs/jbosstm/branches/JBOSSTS_4_16/XTS/demo-test/pom.xml
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/XTS/demo-test/pom.xml 2012-11-15 20:02:12 UTC (rev 38247)
+++ labs/jbosstm/branches/JBOSSTS_4_16/XTS/demo-test/pom.xml 2012-11-16 09:11:22 UTC (rev 38248)
@@ -11,10 +11,12 @@
<properties>
<version.jbossas>7.1.1.Final</version.jbossas>
- <version.org.jboss.arquillian>1.0.0.Final</version.org.jboss.arquillian>
- <version.org.jboss.arquillian.drone>1.0.0.Final</version.org.jboss.arquillian.drone>
- <version.org.jboss.arquillian.graphene>1.0.0.Final</version.org.jboss.arquillian.graphene>
- <version.junit>4.8.2</version.junit>
+ <version.org.jboss.arquillian>1.0.3.Final</version.org.jboss.arquillian>
+ <version.org.jboss.arquillian.drone>1.1.0.Final</version.org.jboss.arquillian.drone>
+ <version.org.jboss.arquillian.graphene>2.0.0.Alpha2</version.org.jboss.arquillian.graphene>
+ <version.org.jboss.shrinkwrap.resolver>2.0.0-alpha-4</version.org.jboss.shrinkwrap.resolver>
+ <version.selenium>2.25.0</version.selenium>
+ <version.junit>4.10</version.junit>
<jvm.args.ip>-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false</jvm.args.ip>
<jvm.args.ip.server>${jvm.args.ip}</jvm.args.ip.server>
@@ -25,7 +27,7 @@
<dependencyManagement>
<dependencies>
- <!-- Arquillian Core dependencies -->
+ <!-- Arquillian Core dependencies -->
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
@@ -33,7 +35,7 @@
<type>pom</type>
<scope>import</scope>
</dependency>
- <!-- Arquillian Drone dependencies and Selenium dependencies -->
+ <!-- Arquillian Drone dependencies and Selenium dependencies -->
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-drone-bom</artifactId>
@@ -41,39 +43,89 @@
<type>pom</type>
<scope>import</scope>
</dependency>
+
+ <!-- ShrinkWrap Resolver -->
+ <dependency>
+ <groupId>org.jboss.shrinkwrap.resolver</groupId>
+ <artifactId>shrinkwrap-resolver-bom</artifactId>
+ <version>${version.org.jboss.shrinkwrap.resolver}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <!-- Graphene -->
+ <dependency>
+ <groupId>org.jboss.arquillian.graphene</groupId>
+ <artifactId>graphene-webdriver</artifactId>
+ <version>${version.org.jboss.arquillian.graphene}</version>
+ <type>pom</type>
+ </dependency>
+ <!-- Running with managed container -->
+ <dependency>
+ <groupId>org.jboss.as</groupId>
+ <artifactId>jboss-as-arquillian-container-managed</artifactId>
+ <version>${version.jbossas}</version>
+ </dependency>
+
</dependencies>
</dependencyManagement>
<dependencies>
+ <!-- Arquillian Graphene -->
<dependency>
- <groupId>org.jboss.spec</groupId>
- <artifactId>jboss-javaee-6.0</artifactId>
- <version>1.0.0.Final</version>
+ <groupId>org.jboss.arquillian.graphene</groupId>
+ <artifactId>graphene-webdriver</artifactId>
<type>pom</type>
- <scope>provided</scope>
+ <scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.arquillian.graphene</groupId>
+ <artifactId>graphene-selenium-impl</artifactId>
+ <version>${version.org.jboss.arquillian.graphene}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
+ <scope>test</scope>
<version>${version.junit}</version>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
- <version>${version.org.jboss.arquillian}</version>
<scope>test</scope>
+ </dependency>
+
+ <!-- Selenium dependecies -->
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-api</artifactId>
+ <version>${version.selenium}</version>
+ <scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-java</artifactId>
+ <version>${version.selenium}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-support</artifactId>
+ <version>${version.selenium}</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- Selenium driver -->
<dependency>
- <groupId>org.jboss.arquillian.graphene</groupId>
- <artifactId>arquillian-graphene</artifactId>
- <version>${version.org.jboss.arquillian.graphene}</version>
- <type>pom</type>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-htmlunit-driver</artifactId>
+ <version>${version.selenium}</version>
<scope>test</scope>
</dependency>
+
</dependencies>
<repositories>
Modified: labs/jbosstm/branches/JBOSSTS_4_16/XTS/demo-test/src/test/java/org/jboss/jbossts/xts/demotest/XTSDemoTest.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/XTS/demo-test/src/test/java/org/jboss/jbossts/xts/demotest/XTSDemoTest.java 2012-11-15 20:02:12 UTC (rev 38247)
+++ labs/jbosstm/branches/JBOSSTS_4_16/XTS/demo-test/src/test/java/org/jboss/jbossts/xts/demotest/XTSDemoTest.java 2012-11-16 09:11:22 UTC (rev 38248)
@@ -21,15 +21,6 @@
*/
package org.jboss.jbossts.xts.demotest;
-import static org.jboss.arquillian.ajocado.Graphene.elementPresent;
-import static org.jboss.arquillian.ajocado.Graphene.name;
-import static org.jboss.arquillian.ajocado.Graphene.waitForHttp;
-import static org.jboss.arquillian.ajocado.Graphene.waitModel;
-import static org.jboss.arquillian.ajocado.Graphene.xp;
-
-import org.jboss.arquillian.ajocado.framework.GrapheneSelenium;
-import org.jboss.arquillian.ajocado.locator.NameLocator;
-import org.jboss.arquillian.ajocado.locator.XPathLocator;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.RunAsClient;
import org.jboss.arquillian.drone.api.annotation.Drone;
@@ -44,6 +35,11 @@
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.openqa.selenium.By;
+import org.openqa.selenium.htmlunit.HtmlUnitDriver;
+
+import java.util.concurrent.TimeUnit;
+
import java.net.URL;
import java.util.zip.ZipFile;
@@ -53,9 +49,9 @@
* @author istudens at redhat.com
*/
@RunWith(Arquillian.class)
- at RunAsClient
public class XTSDemoTest {
private static final Logger log = Logger.getLogger(XTSDemoTest.class);
+ private static final int IMPLICIT_WAIT_S = 120;
private static final String XTS_DEMO_DIR = "../xts-install/demo/build/";
private static final String XTS_DEMO_ARCHIVE = "xts-demo.ear";
@@ -68,26 +64,25 @@
private static final String TX_TYPE_BA = "BusinessActivity";
- // load ajocado driver
@Drone
- GrapheneSelenium driver;
+ private HtmlUnitDriver driver;
// Load context path to the test
@ArquillianResource
- URL contextPath;
+ private URL contextPath;
- protected NameLocator TX_TYPE_FIELD = name("txType");
- protected NameLocator RESTAURANT_FIELD = name("restaurant");
- protected NameLocator THEATER_CIRCLE_FIELD = name("theatrecirclecount");
- protected NameLocator THEATER_STALLS_FIELD = name("theatrestallscount");
- protected NameLocator THEATER_BALCONY_FIELD = name("theatrebalconycount");
- protected NameLocator TAXI_FIELD = name("taxi");
+ private static final By TX_TYPE_FIELD = By.name("txType");
+ private static final By RESTAURANT_FIELD = By.name("restaurant");
+ private static final By THEATER_CIRCLE_FIELD = By.name("theatrecirclecount");
+ private static final By THEATER_STALLS_FIELD = By.name("theatrestallscount");
+ private static final By THEATER_BALCONY_FIELD = By.name("theatrebalconycount");
+ private static final By TAXI_FIELD = By.name("taxi");
- protected NameLocator SUBMIT_BUTTON = name("submit");
+ private static final By SUBMIT_BUTTON = By.name("submit");
- protected XPathLocator RESULT_TABLE_TITLE_XP = xp("//div[@class='result_title']");
- protected XPathLocator RESULT_TABLE_CONTENT_XP = xp("//div[@class='result']");
+ private static final By RESULT_TABLE_TITLE_XP = By.xpath("//div[@class='result_title']");
+ private static final By RESULT_TABLE_CONTENT_XP = By.xpath("//div[@class='result']");
@Deployment(name = XTS_DEMO_ARCHIVE, testable = false)
@@ -96,7 +91,7 @@
.importFrom(new ZipFile(XTS_DEMO_DIR + XTS_DEMO_ARCHIVE)).as(EnterpriseArchive.class);
return archive;
}
-
+
@Test
public void testAtomicTransaction() throws Exception {
testReservation(TX_TYPE_AT, "6", "1", "2", "3", true);
@@ -109,25 +104,27 @@
protected void testReservation(String txType, String restaurantSeats, String theaterCircleSeats, String theaterStallsSeats, String theaterBalconySeats, boolean taxi) throws Exception {
log.info("contextPath = " + contextPath);
- driver.open(new URL(contextPath + "/" + DEMO_APP_CONTEXT + "/"));
+ driver.get(contextPath + "/" + DEMO_APP_CONTEXT + "/");
- waitModel.until(elementPresent.locator(TX_TYPE_FIELD));
+ driver.manage().timeouts().implicitlyWait(IMPLICIT_WAIT_S, TimeUnit.SECONDS);
+ driver.findElement(TX_TYPE_FIELD);
log.info("driver.getTitle() = " + driver.getTitle());
- driver.type(TX_TYPE_FIELD, txType);
- driver.type(RESTAURANT_FIELD, restaurantSeats);
- driver.type(THEATER_CIRCLE_FIELD, theaterCircleSeats);
- driver.type(THEATER_STALLS_FIELD, theaterStallsSeats);
- driver.type(THEATER_BALCONY_FIELD, theaterBalconySeats);
- driver.type(TAXI_FIELD, taxi ? "1" : "0");
+
+ driver.findElement(TX_TYPE_FIELD).sendKeys(txType);
+ driver.findElement(RESTAURANT_FIELD).sendKeys(restaurantSeats);
+ driver.findElement(THEATER_CIRCLE_FIELD).sendKeys(theaterCircleSeats);
+ driver.findElement(THEATER_STALLS_FIELD).sendKeys(theaterStallsSeats);
+ driver.findElement(THEATER_BALCONY_FIELD).sendKeys(theaterBalconySeats);
+ driver.findElement(TAXI_FIELD).sendKeys(taxi ? "1" : "0");
- waitForHttp(driver).click(SUBMIT_BUTTON);
+ driver.findElement(SUBMIT_BUTTON).click();
- String resultTableTitle = driver.getText(RESULT_TABLE_TITLE_XP);
+ String resultTableTitle = driver.findElement(RESULT_TABLE_TITLE_XP).getText();
log.info("resultTableTitle = " + resultTableTitle);
Assert.assertTrue("Page does not contain any results!", resultTableTitle.contains(RESULT_TITLE));
- String resultTableContent = driver.getText(RESULT_TABLE_CONTENT_XP);
+ String resultTableContent = driver.findElement(RESULT_TABLE_CONTENT_XP).getText();
log.info("resultTableContent = " + resultTableContent);
Assert.assertTrue("Transaction failed with: " + resultTableContent, resultTableContent.contains(TRANSACTION_FINISHED));
}
Modified: labs/jbosstm/branches/JBOSSTS_4_16/txbridge/demo-test/pom.xml
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/txbridge/demo-test/pom.xml 2012-11-15 20:02:12 UTC (rev 38247)
+++ labs/jbosstm/branches/JBOSSTS_4_16/txbridge/demo-test/pom.xml 2012-11-16 09:11:22 UTC (rev 38248)
@@ -11,10 +11,12 @@
<properties>
<version.jbossas>7.1.1.Final</version.jbossas>
- <version.org.jboss.arquillian>1.0.0.Final</version.org.jboss.arquillian>
- <version.org.jboss.arquillian.drone>1.0.0.Final</version.org.jboss.arquillian.drone>
- <version.org.jboss.arquillian.graphene>1.0.0.Final</version.org.jboss.arquillian.graphene>
- <version.junit>4.8.2</version.junit>
+ <version.org.jboss.arquillian>1.0.3.Final</version.org.jboss.arquillian>
+ <version.org.jboss.arquillian.drone>1.1.0.Final</version.org.jboss.arquillian.drone>
+ <version.org.jboss.arquillian.graphene>2.0.0.Alpha2</version.org.jboss.arquillian.graphene>
+ <version.org.jboss.shrinkwrap.resolver>2.0.0-alpha-4</version.org.jboss.shrinkwrap.resolver>
+ <version.selenium>2.25.0</version.selenium>
+ <version.junit>4.10</version.junit>
<jvm.args.ip>-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false</jvm.args.ip>
<jvm.args.ip.server>${jvm.args.ip}</jvm.args.ip.server>
@@ -41,37 +43,85 @@
<type>pom</type>
<scope>import</scope>
</dependency>
+
+ <!-- ShrinkWrap Resolver -->
+ <dependency>
+ <groupId>org.jboss.shrinkwrap.resolver</groupId>
+ <artifactId>shrinkwrap-resolver-bom</artifactId>
+ <version>${version.org.jboss.shrinkwrap.resolver}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <!-- Graphene -->
+ <dependency>
+ <groupId>org.jboss.arquillian.graphene</groupId>
+ <artifactId>graphene-webdriver</artifactId>
+ <version>${version.org.jboss.arquillian.graphene}</version>
+ <type>pom</type>
+ </dependency>
+ <!-- Running with managed container -->
+ <dependency>
+ <groupId>org.jboss.as</groupId>
+ <artifactId>jboss-as-arquillian-container-managed</artifactId>
+ <version>${version.jbossas}</version>
+ </dependency>
</dependencies>
</dependencyManagement>
<dependencies>
+ <!-- Arquillian Graphene -->
<dependency>
- <groupId>org.jboss.spec</groupId>
- <artifactId>jboss-javaee-6.0</artifactId>
- <version>1.0.0.Final</version>
+ <groupId>org.jboss.arquillian.graphene</groupId>
+ <artifactId>graphene-webdriver</artifactId>
<type>pom</type>
- <scope>provided</scope>
+ <scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.arquillian.graphene</groupId>
+ <artifactId>graphene-selenium-impl</artifactId>
+ <version>${version.org.jboss.arquillian.graphene}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
+ <scope>test</scope>
<version>${version.junit}</version>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
- <version>${version.org.jboss.arquillian}</version>
<scope>test</scope>
+ </dependency>
+
+ <!-- Selenium dependecies -->
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-api</artifactId>
+ <version>${version.selenium}</version>
+ <scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-java</artifactId>
+ <version>${version.selenium}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-support</artifactId>
+ <version>${version.selenium}</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- Selenium driver -->
<dependency>
- <groupId>org.jboss.arquillian.graphene</groupId>
- <artifactId>arquillian-graphene</artifactId>
- <version>${version.org.jboss.arquillian.graphene}</version>
- <type>pom</type>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium-htmlunit-driver</artifactId>
+ <version>${version.selenium}</version>
<scope>test</scope>
</dependency>
</dependencies>
Modified: labs/jbosstm/branches/JBOSSTS_4_16/txbridge/demo-test/src/test/java/org/jboss/jbossts/txbridge/demotest/TxBridgeDemoTest.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/txbridge/demo-test/src/test/java/org/jboss/jbossts/txbridge/demotest/TxBridgeDemoTest.java 2012-11-15 20:02:12 UTC (rev 38247)
+++ labs/jbosstm/branches/JBOSSTS_4_16/txbridge/demo-test/src/test/java/org/jboss/jbossts/txbridge/demotest/TxBridgeDemoTest.java 2012-11-16 09:11:22 UTC (rev 38248)
@@ -21,15 +21,6 @@
*/
package org.jboss.jbossts.txbridge.demotest;
-import static org.jboss.arquillian.ajocado.Graphene.elementPresent;
-import static org.jboss.arquillian.ajocado.Graphene.name;
-import static org.jboss.arquillian.ajocado.Graphene.waitForHttp;
-import static org.jboss.arquillian.ajocado.Graphene.waitModel;
-import static org.jboss.arquillian.ajocado.Graphene.xp;
-
-import org.jboss.arquillian.ajocado.framework.GrapheneSelenium;
-import org.jboss.arquillian.ajocado.locator.NameLocator;
-import org.jboss.arquillian.ajocado.locator.XPathLocator;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.container.test.api.RunAsClient;
@@ -47,7 +38,12 @@
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.htmlunit.HtmlUnitDriver;
+
import java.net.URL;
+import java.util.concurrent.TimeUnit;
import java.util.zip.ZipFile;
/**
@@ -56,9 +52,9 @@
* @author istudens at redhat.com
*/
@RunWith(Arquillian.class)
- at RunAsClient
public class TxBridgeDemoTest {
private static final Logger log = Logger.getLogger(TxBridgeDemoTest.class);
+ private static final int IMPLICIT_WAIT_S = 120;
private static final String XTS_DEMO_DIR = "../../XTS/xts-install/demo/build/";
private static final String XTS_DEMO_ARCHIVE = "xts-demo.ear";
@@ -75,16 +71,16 @@
@Drone
- GrapheneSelenium driver;
+ private HtmlUnitDriver driver;
- protected NameLocator TX_TYPE_FIELD = name("txType");
- protected NameLocator SEATS_FIELD = name("seats");
+ private static final By TX_TYPE_FIELD = By.name("txType");
+ private static final By SEATS_FIELD = By.name("seats");
- protected NameLocator SUBMIT_BUTTON = name("submit");
+ private static final By SUBMIT_BUTTON = By.name("submit");
- protected XPathLocator RESULT_TABLE_TITLE_XP = xp("//span[@class='result_title']");
- protected XPathLocator RESULT_TABLE_CONTENT_XP = xp("//span[@class='result']");
+ private static final By RESULT_TABLE_TITLE_XP = By.xpath("//span[@class='result_title']");
+ private static final By RESULT_TABLE_CONTENT_XP = By.xpath("//span[@class='result']");
@Deployment(name = XTS_DEMO_ARCHIVE, testable = false, order = 1)
@@ -108,6 +104,7 @@
return archive;
}
+
@Test @OperateOnDeployment(TXBRIDGE_DEMO_CLIENT_ARCHIVE)
public void testAT(@ArquillianResource URL contextPath) throws Exception {
testReservation(PARENT_TX_TYPE_AT, "2", contextPath);
@@ -118,23 +115,24 @@
testReservation(PARENT_TX_TYPE_JTA, "3", contextPath);
}
+
protected void testReservation(String txType, String seats, URL contextPath) throws Exception {
log.info("contextPath = " + contextPath);
- driver.open(contextPath);
+ driver.get(contextPath.toString());
- waitModel.until(elementPresent.locator(TX_TYPE_FIELD));
+ driver.manage().timeouts().implicitlyWait(IMPLICIT_WAIT_S, TimeUnit.SECONDS);
log.info("driver.getTitle() = " + driver.getTitle());
- driver.type(TX_TYPE_FIELD, txType);
- driver.type(SEATS_FIELD, seats);
+ driver.findElement(TX_TYPE_FIELD).sendKeys(txType);
+ driver.findElement(SEATS_FIELD).sendKeys(seats);
- waitForHttp(driver).click(SUBMIT_BUTTON);
+ driver.findElement(SUBMIT_BUTTON).click();
- String resultTableTitle = driver.getText(RESULT_TABLE_TITLE_XP);
+ String resultTableTitle = driver.findElement(RESULT_TABLE_TITLE_XP).getText();
log.info("resultTableTitle = " + resultTableTitle);
Assert.assertTrue("Page does not contain any results!", resultTableTitle.contains(RESULT_TITLE));
- String resultTableContent = driver.getText(RESULT_TABLE_CONTENT_XP);
+ String resultTableContent = driver.findElement(RESULT_TABLE_CONTENT_XP).getText();
log.info("resultTableContent = " + resultTableContent);
Assert.assertTrue("Transaction failed with: " + resultTableContent, resultTableContent.contains(TRANSACTION_FINISHED));
}
More information about the jboss-svn-commits
mailing list