diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/pom.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/pom.xml
index 148ad21d..027fbdb1 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/pom.xml
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/pom.xml
@@ -46,12 +46,13 @@
+ The following dependencies are needed to be able to compile the
+ custom functional tests that are based on Page Objects (PO)
+ ===============================================================-->
+ It contains page objects such as LoginPage and it also brings
+ in selenium-grid and selenium. -->
${alfresco.groupId}
share-po
@@ -67,8 +68,7 @@
tests
test
-
+
org.seleniumhq.selenium
@@ -80,13 +80,6 @@
-
-
- org.seleniumhq.selenium
- selenium-java
- 2.45.0-alfresco
- test
-
@@ -101,7 +94,6 @@
-
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/src/test/java/demoamp/DemoPageTestIT.java b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/src/test/java/demoamp/DemoPageTestIT.java
index 0b6e543c..c16f9314 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/src/test/java/demoamp/DemoPageTestIT.java
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/src/test/java/demoamp/DemoPageTestIT.java
@@ -18,8 +18,8 @@
package ${package}.demoamp;
import ${package}.demoamp.po.DemoPage;
+import org.alfresco.po.share.LoginPage;
import org.alfresco.po.AbstractTest;
-//import org.alfresco.po.share.LoginPage;
import org.alfresco.po.share.PeopleFinderPage;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
@@ -41,18 +41,22 @@ public class DemoPageTestIT extends AbstractTest {
@BeforeClass(groups = {"alfresco-one"})
public void prepare() throws Exception {
- // Navigate to share
-// drone.navigateTo(shareUrl + "/page/hdp/ws/simple-page");
- // Reuse Alfresco Share login page object from share-po lib.
- // LoginPage loginPage = new LoginPage(drone);
- // loginPage.loginAs(username, password);
+ // Navigate to share, which will redirect to Login page
+ driver.navigate().to(shareUrl + "/page");
+
+ // Resolve/Bind current page to LoginPage object
+ LoginPage loginPage = resolvePage(driver).render();
+ loginPage.loginAs(username, password);
}
@BeforeMethod
public void loadPage() {
// Goto demo page
- // drone.navigateTo(shareUrl + "/page/hdp/ws/simple-page");
- // page = new DemoPage(drone);
+ driver.navigate().to(shareUrl + "/page/hdp/ws/simple-page");
+
+ // We need to instantiate the page like this as it is not yet in
+ // the factory known list of pages
+ page = factoryPage.instantiatePage(driver, DemoPage.class);
}
@Test
@@ -63,9 +67,9 @@ public class DemoPageTestIT extends AbstractTest {
@Test
public void messageIsDisplayed() {
page.render();
- // String msg = page.getMessage();
- // Assert.assertNotNull(msg);
- //Assert.assertEquals("Hello from i18n!", msg);
+ String msg = page.getMessage();
+ Assert.assertNotNull(msg);
+ Assert.assertEquals("Hello from i18n!", msg);
}
/**
@@ -86,7 +90,7 @@ public class DemoPageTestIT extends AbstractTest {
@Test
public void navigate() {
Assert.assertNotNull(page.getNav());
- PeopleFinderPage peoppleFinderPage = page.getNav().selectPeople().render();
- Assert.assertNotNull(peoppleFinderPage);
+ PeopleFinderPage peopleFinderPage = page.getNav().selectPeople().render();
+ Assert.assertNotNull(peopleFinderPage);
}
}
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/src/test/java/demoamp/po/DemoPage.java b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/src/test/java/demoamp/po/DemoPage.java
index 8e871bf4..217cae9f 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/src/test/java/demoamp/po/DemoPage.java
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-share-amp/src/test/java/demoamp/po/DemoPage.java
@@ -19,9 +19,9 @@ package ${package}.demoamp.po;
import org.alfresco.po.share.SharePage;
import org.alfresco.po.RenderTime;
-//import org.alfresco.webdrone.WebDrone;
-import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
/**
* Demo of simple share page object that encapsulates the demo of simple page.
@@ -30,22 +30,17 @@ import org.openqa.selenium.NoSuchElementException;
* @since 2.0.1
*/
public class DemoPage extends SharePage {
- private By SIMPLE_DEMO_LOGO = By.id("DEMO_SIMPLE_LOGO");
- private By SIMPLE_DEMO_MESSAGE = By.id("DEMO_SIMPLE_MSG");
+ @FindBy(id="DEMO_SIMPLE_LOGO")
+ WebElement logo;
- // public DemoPage(WebDrone drone) {
- // super(drone);
- //}
-
- @SuppressWarnings("unchecked")
- @Override
- public DemoPage render() {
- return render(new RenderTime(maxPageLoadingTime));
- }
+ @FindBy(id="DEMO_SIMPLE_MSG")
+ WebElement msg;
@SuppressWarnings("unchecked")
@Override
public DemoPage render(RenderTime timer) {
+
+ // Wait for logo and message to display, then consider page rendered
while (true) {
timer.start();
try {
@@ -57,32 +52,19 @@ public class DemoPage extends SharePage {
timer.end();
}
}
+
return this;
}
-
- //@Override
- //public DemoPage render(long time) {
- // return render(new RenderTime(time));
- //}
-
public boolean isSimpleLogoDisplayed() {
- try {
- // return drone.find(SIMPLE_DEMO_LOGO).isDisplayed();
- } catch (NoSuchElementException se) {
- }
- return false;
+ return isDisplayed(logo);
}
public boolean isMessageDisplayed() {
- try {
- // return drone.find(SIMPLE_DEMO_MESSAGE).isDisplayed();
- } catch (NoSuchElementException se) {
- }
- return false;
+ return isDisplayed(msg);
}
- //public String getMessage() {
- // return drone.find(SIMPLE_DEMO_MESSAGE).getText();
- // }
+ public String getMessage() {
+ return msg.getText();
+ }
}
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/runner/pom.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/runner/pom.xml
index f773b26a..2da8f660 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/runner/pom.xml
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/runner/pom.xml
@@ -12,6 +12,11 @@
${version}
+
+
+ 4.1.6.RELEASE
+
+
run
@@ -229,28 +234,17 @@
-
+
${alfresco.groupId}
share-po
${alfresco.version}
test
-
-
-
-
- org.seleniumhq.selenium
- selenium-java
-
-
- org.seleniumhq.selenium
- selenium-server
-
-
-
+
${alfresco.groupId}
share-po
@@ -258,8 +252,7 @@
tests
test
-
+
org.seleniumhq.selenium
@@ -271,25 +264,6 @@
-
-
-
- org.seleniumhq.selenium
- selenium-java
- 2.45.0-alfresco
-
-
- org.seleniumhq.selenium
- selenium-server
- 2.45.0-alfresco
-
-
- org.mortbay.jetty
- servlet-api-2.5
-
-
-
-
@@ -304,6 +278,43 @@
+
+
+
+ org.springframework
+ spring-core
+ ${spring.version}
+ provided
+
+
+ org.springframework
+ spring-beans
+ ${spring.version}
+ provided
+
+
+ org.springframework
+ spring-context
+ ${spring.version}
+ provided
+
+
+ org.springframework
+ spring-aspects
+ ${spring.version}
+
+
+ org.springframework
+ spring-test
+ ${spring.version}
+
@@ -360,30 +371,16 @@
+ It contains page objects such as LoginPage and it also brings
+ in selenium-grid and selenium. -->
${alfresco.groupId}
share-po
${alfresco.version}
test
-
-
-
-
- org.seleniumhq.selenium
- selenium-java
-
-
- org.seleniumhq.selenium
- selenium-server
-
-
-
+ the org.alfresco.po.share.AbstractTest class that our custom tests extend. -->
${alfresco.groupId}
share-po
@@ -391,8 +388,7 @@
tests
test
-
+
org.seleniumhq.selenium
@@ -404,25 +400,6 @@
-
-
-
- org.seleniumhq.selenium
- selenium-java
- 2.45.0-alfresco
-
-
- org.seleniumhq.selenium
- selenium-server
- 2.45.0-alfresco
-
-
- org.mortbay.jetty
- servlet-api-2.5
-
-
-
-
@@ -437,6 +414,43 @@
+
+
+
+ org.springframework
+ spring-core
+ ${spring.version}
+ provided
+
+
+ org.springframework
+ spring-beans
+ ${spring.version}
+ provided
+
+
+ org.springframework
+ spring-context
+ ${spring.version}
+ provided
+
+
+ org.springframework
+ spring-aspects
+ ${spring.version}
+
+
+ org.springframework
+ spring-test
+ ${spring.version}
+
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/runner/test-ng/testng-alfresco-share.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/runner/test-ng/testng-alfresco-share.xml
index bf3a1b02..d70b604b 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/runner/test-ng/testng-alfresco-share.xml
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/runner/test-ng/testng-alfresco-share.xml
@@ -38,13 +38,11 @@
-