Author: andreapatricelli Date: Thu May 15 13:47:33 2014 New Revision: 1594915
URL: http://svn.apache.org/r1594915 Log: [SYNCOPE-486] updated Selenium version to 2.41.0, changed console IT tests accordingly (selenium-maven-plugin no more used) Modified: syncope/branches/1_1_X/console/pom.xml syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/AbstractTest.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/UserTestITCase.java syncope/branches/1_1_X/pom.xml Modified: syncope/branches/1_1_X/console/pom.xml URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/pom.xml?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/pom.xml (original) +++ syncope/branches/1_1_X/console/pom.xml Thu May 15 13:47:33 2014 @@ -139,12 +139,24 @@ under the License. <artifactId>junit</artifactId> <scope>test</scope> </dependency> + <!-- SELENIUM INTEGRATION TEST --> <dependency> - <groupId>org.seleniumhq.selenium.client-drivers</groupId> - <artifactId>selenium-java-client-driver</artifactId> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-java</artifactId> <scope>test</scope> </dependency> <dependency> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-api</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-support</artifactId> + <scope>test</scope> + </dependency> + <!-- /SELENIUM INTEGRATION TEST --> + <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <scope>test</scope> @@ -608,32 +620,6 @@ under the License. <plugins> <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>selenium-maven-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>start-selenium</id> - <phase>pre-integration-test</phase> - <goals> - <goal>start-server</goal> - </goals> - <configuration> - <background>true</background> - <logOutput>true</logOutput> - </configuration> - </execution> - <execution> - <id>stop-selenium</id> - <phase>post-integration-test</phase> - <goals> - <goal>stop-server</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <inherited>true</inherited> @@ -664,7 +650,7 @@ under the License. </execution> <execution> <id>stop-container</id> - <phase>post-integratison-test</phase> + <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/AbstractTest.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/AbstractTest.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/AbstractTest.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/AbstractTest.java Thu May 15 13:47:33 2014 @@ -18,10 +18,14 @@ */ package org.apache.syncope.console; -import com.thoughtworks.selenium.SeleneseTestCase; +import com.thoughtworks.selenium.Selenium; +import com.thoughtworks.selenium.webdriven.WebDriverBackedSelenium; +import junit.framework.TestCase; import org.junit.After; import org.junit.Before; import org.junit.runner.RunWith; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.firefox.FirefoxDriver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.test.context.ContextConfiguration; @@ -29,7 +33,7 @@ import org.springframework.test.context. @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:applicationContext.xml"}) -public abstract class AbstractTest extends SeleneseTestCase { +public abstract class AbstractTest extends TestCase { /** * Logger. @@ -42,10 +46,17 @@ public abstract class AbstractTest exten protected static final String BASE_URL = "http://localhost:9080/syncope-console/"; + protected Selenium selenium; + + protected WebDriver seleniumDriver; + @Override @Before public void setUp() throws Exception { - super.setUp(BASE_URL, "*firefox"); + super.setUp(); + + seleniumDriver = new FirefoxDriver(); + selenium = new WebDriverBackedSelenium(seleniumDriver, BASE_URL); selenium.open("/syncope-console/"); selenium.type("name=userId", ADMIN); Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java Thu May 15 13:47:33 2014 @@ -32,10 +32,15 @@ public class ConfigurationTestITCase ext selenium.waitForCondition("selenium.isElementPresent(\"//input[@name='key:textField']\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.type("name=key:textField", "test1"); selenium.type("name=value:textField", "value1"); selenium.click("name=apply"); + seleniumDriver.switchTo().defaultContent(); + selenium.waitForCondition("selenium.isTextPresent(\"Operation executed successfully\");", "30000"); } @@ -65,9 +70,14 @@ public class ConfigurationTestITCase ext selenium.waitForCondition("selenium.isElementPresent(\"//input[@name='id:textField']\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.type("name=description:textField", "new description"); selenium.click("//div[2]/form/div[3]/input[@type='submit']"); + seleniumDriver.switchTo().defaultContent(); + selenium.waitForCondition("selenium.isTextPresent(\"new description\");", "30000"); } @@ -101,7 +111,7 @@ public class ConfigurationTestITCase ext selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//div[@id='logs']/ul/li/a/span"); + selenium.click("//div[@id='tabs']/ul/li[5]/a"); selenium.select("//div[@id='core']/div/span/table/tbody/tr/td[2]/select", "label=ERROR"); @@ -114,11 +124,18 @@ public class ConfigurationTestITCase ext selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); + selenium.click("//div[@id='tabs']/ul/li[3]/a"); + selenium.click("//a[contains(text(),'Create new notification')]"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//div[2]/form/div[3]/div/div/div/div/label\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//input[@name='sender:textField']\");", "30000"); + + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.type("name=sender:textField", "t...@syncope.it"); selenium.type("name=sender:textField", "t...@syncope.it"); @@ -134,10 +151,10 @@ public class ConfigurationTestITCase ext selenium.select("//div[2]/form/div[3]/div/div/div[6]/div[2]/span/select", "label=ALL"); - selenium.click("//div[2]/form/div[3]/ul/li[2]/a/span"); - selenium.click("//div[2]/form/div[3]/ul/li[3]/a/span"); + selenium.click("//div[2]/form/div[3]/ul/li[2]/a/span"); + selenium.waitForCondition("selenium.isElementPresent(\"" + "//select[@name='eventSelection:categoryContainer:type:dropDownChoiceField']" + "/option[text()='PROPAGATION']\");", @@ -177,6 +194,8 @@ public class ConfigurationTestITCase ext + "\"//div[2]/form/div[3]/div[4]/div/div[2]/label\");", "30000"); selenium.click("//div[2]/form/div[4]/input"); + + seleniumDriver.switchTo().defaultContent(); } @Test @@ -189,6 +208,11 @@ public class ConfigurationTestITCase ext selenium.waitForCondition("selenium.isElementPresent(\"//input[@name='key:textField']\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.keyPressNative("27"); + + seleniumDriver.switchTo().defaultContent(); } } Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java Thu May 15 13:47:33 2014 @@ -28,10 +28,16 @@ public class ConnInstanceTestITCase exte selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); + selenium.click("//div[@id='tabs']/ul/li[2]/a"); + selenium.click("//div[3]/div[2]/a"); selenium.waitForCondition( "selenium.isElementPresent(\"//form/div[2]/div/div/div[3]/div[2]/span/select\");", "30000"); + + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.select("//select[@name='location:dropDownChoiceField']", "value=0"); selenium.waitForCondition( @@ -45,6 +51,8 @@ public class ConnInstanceTestITCase exte assertTrue(selenium.isElementPresent("//form/div[2]/div/div/div[3]/div[2]/")); + seleniumDriver.switchTo().defaultContent(); + selenium.click("css=a.w_close"); } @@ -60,12 +68,18 @@ public class ConnInstanceTestITCase exte selenium.waitForCondition( "selenium.isElementPresent(\"//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + assertEquals("ConnInstance103", selenium.getAttribute("//input[@name='displayName:textField']/@value")); assertEquals("org.connid.bundles.soap", selenium.getSelectedLabel("//select[@name='connectorName:dropDownChoiceField']")); selenium.click("//div[2]/form/div[2]/ul/li[2]/a/span"); + + seleniumDriver.switchTo().defaultContent(); + selenium.click("css=a.w_close"); } @@ -95,6 +109,9 @@ public class ConnInstanceTestITCase exte selenium.waitForCondition( "selenium.isElementPresent(\"//select[@name='version:dropDownChoiceField']\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.click("//div[2]/form/div[2]/ul/li[2]/a"); selenium.waitForCondition( @@ -104,5 +121,7 @@ public class ConnInstanceTestITCase exte selenium.waitForCondition( "selenium.isElementPresent(\"//div/ul/li/span[contains(text(),'Successful connection')]\");", "30000"); + + seleniumDriver.switchTo().defaultContent(); } } Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java Thu May 15 13:47:33 2014 @@ -18,28 +18,32 @@ */ package org.apache.syncope.console; +import com.thoughtworks.selenium.webdriven.WebDriverBackedSelenium; +import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.openqa.selenium.firefox.FirefoxDriver; public class EditProfileTestITCase extends AbstractTest { @Override @Before public void setUp() throws Exception { - super.setUp(BASE_URL, "*firefox"); + seleniumDriver = new FirefoxDriver(); + selenium = new WebDriverBackedSelenium(seleniumDriver, BASE_URL); + + selenium.open("/syncope-console/"); } @Test public void selfRegistration() { - selenium.open("/syncope-console/"); - selenium.click("//div/span/span/a"); selenium.waitForCondition("selenium.isElementPresent(\"//span[contains(text(),'Attributes')]\");", "30000"); selenium.click("css=a.w_close"); - // only to have some "Logout" availabe for @After + // only to have some "Logout" available for @After selenium.type("name=userId", "rossini"); selenium.type("name=password", "password"); selenium.click("name=:submit"); @@ -49,7 +53,6 @@ public class EditProfileTestITCase exten @Test public void editUserProfile() { - selenium.open("/syncope-console/"); selenium.type("name=userId", "rossini"); selenium.type("name=password", "password"); selenium.click("name=:submit"); @@ -65,4 +68,11 @@ public class EditProfileTestITCase exten selenium.click("css=a.w_close"); } + + @Override + @After + public void tearDown() throws Exception { + super.tearDown(); + selenium.stop(); + } } Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java Thu May 15 13:47:33 2014 @@ -28,6 +28,10 @@ public class ReportTestITCase extends Ab selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); selenium.click("//table/tbody/tr/td[8]/div/span[9]/a"); + + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.waitForCondition("selenium.isElementPresent(" + "\"//div[2]/form/div[2]/div/div/span/div/div/div/span\");", "30000"); @@ -38,13 +42,20 @@ public class ReportTestITCase extends Ab selenium.select("//div[2]/form/div[2]/div/div/span/div/div[5]/div[2]/div/div/select", "testUserReportlet"); selenium.click("//div[2]/form/div[2]/div/div/span/div/div[5]/div[2]/div[2]/div[2]/a"); + seleniumDriver.switchTo().defaultContent(); + selenium.waitForCondition("selenium.isElementPresent(" - + "\"//div[2]/form/div[2]/div/div/div/div/label\");", "30000"); + + "\"name=reportletClass:dropDownChoiceField\");", "30000"); - selenium.select("//form/div[2]/div/div/div[2]/div[2]/span/select", - "label=org.apache.syncope.common.report.UserReportletConf"); + selenium.selectFrame("index=1"); + + selenium.select("name=reportletClass:dropDownChoiceField", + "org.apache.syncope.common.report.StaticReportletConf"); + + selenium.click("//div[2]/form/div[3]/input"); + + seleniumDriver.switchTo().defaultContent(); - selenium.click("css=a.w_close"); selenium.click("css=a.w_close"); } Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java Thu May 15 13:47:33 2014 @@ -43,19 +43,24 @@ public class ResourceTestITCase extends selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); selenium.click("//td[6]/div/span[9]/a"); - + + selenium.waitForCondition("selenium.isElementPresent(" + "\"class=wicket_modal\");", "30000"); + selenium.waitForFrameToLoad("class=wicket_modal", "30000"); + selenium.selectFrame("index=0"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//form/div[3]/div/span/div/div/div/label[text()='Name']\");", "30000"); selenium.click("//li[2]/a"); - selenium.waitForCondition("selenium.isElementPresent(" + "\"//tbody/tr\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(" + "\"//tbody/tr[2]/td/input\");", "30000"); selenium.click("//tbody/tr[2]/td/input"); assertTrue(selenium.getConfirmation().equals("Do you really want to delete the selected item(s)?")); - selenium.click("name=apply"); + selenium.click("//div[4]/input"); + + seleniumDriver.switchTo().defaultContent(); } @Test @@ -80,6 +85,9 @@ public class ResourceTestITCase extends selenium.waitForCondition("selenium.isElementPresent(" + "\"//form/div[3]/div/span/div/div/div/label[text()='Name']\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.click("//li[4]/a"); assertTrue(selenium.isElementPresent("//label[@for='passwordPolicy']")); @@ -88,6 +96,8 @@ public class ResourceTestITCase extends selenium.click("//li[2]/a"); selenium.click("//li[3]/a"); + seleniumDriver.switchTo().defaultContent(); + selenium.click("css=a.w_close"); } @@ -102,7 +112,10 @@ public class ResourceTestITCase extends selenium.waitForCondition("selenium.isElementPresent(" + "\"//form/div[3]/div/span/div/div/div/label[text()='Name']\");", "30000"); - selenium.click("//li[3]/a"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + + selenium.click("//li[4]/a"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//span[text()='endpoint']\");", "30000"); @@ -110,5 +123,7 @@ public class ResourceTestITCase extends selenium.waitForCondition( "selenium.isElementPresent(\"//div/ul/li/span[contains(text(), 'Successful connection')]\");", "30000"); + + seleniumDriver.switchTo().defaultContent(); } } Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java Thu May 15 13:47:33 2014 @@ -49,13 +49,13 @@ public class RoleTestITCase extends Abst selenium.click("//div/div/span/div/div/div/div/div[2]/div/div/span/a"); - selenium.waitForCondition("selenium.isElementPresent(\"css=img[title='Create']\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//img[@alt='create icon']\");", "30000"); - selenium.click("css=img[title='Create']"); + selenium.click("//img[@alt='create icon']"); selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); - selenium.selectFrame("relative=up"); + selenium.selectFrame("index=0"); selenium.waitForCondition("selenium.isElementPresent(\"//div[2]/form/div[3]/div/ul/li[1]/a/span\");", "30000"); @@ -66,6 +66,8 @@ public class RoleTestITCase extends Abst selenium.click("//div[2]/form/div[3]/div/ul/li[5]/a/span"); selenium.click("//div[2]/form/div[3]/div/ul/li[6]/a/span"); + seleniumDriver.switchTo().defaultContent(); + selenium.click("css=a.w_close"); } @@ -77,13 +79,13 @@ public class RoleTestITCase extends Abst selenium.click("//div/div/span/div/div/div/div/div[2]/div/div/span/a"); - selenium.waitForCondition("selenium.isElementPresent(\"css=img[title='Edit']\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//img[@alt='edit icon']\");", "30000"); - selenium.click("css=img[title='Edit']"); + selenium.click("//img[@alt='edit icon']"); selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); - selenium.selectFrame("relative=up"); + selenium.selectFrame("index=0"); selenium.waitForCondition("selenium.isElementPresent(\"//div[2]/form/div[3]/div/ul/li[1]/a/span\");", "30000"); @@ -94,6 +96,8 @@ public class RoleTestITCase extends Abst selenium.click("//div[2]/form/div[3]/div/ul/li[6]/a/span"); selenium.click("//div[2]/form/div[3]/div/ul/li[7]/a/span"); + seleniumDriver.switchTo().defaultContent(); + selenium.click("css=a.w_close"); } @@ -166,9 +170,9 @@ public class RoleTestITCase extends Abst selenium.click( "//div/div/span/div/div/div/div/div[2]/div[2]/div[2]/div/div[2]/div[3]/div/span[2]/a/span"); - selenium.waitForCondition("selenium.isElementPresent(\"css=img[title='Delete']\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//img[@alt='delete icon']\");", "30000"); - selenium.click("css=img[title='Delete']"); + selenium.click("//img[@alt='delete icon']"); assertTrue(selenium.getConfirmation().equals("Do you really want to delete the selected item(s)?")); } Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java Thu May 15 13:47:33 2014 @@ -35,10 +35,14 @@ public class SchemaTestITCase extends Ab selenium.waitForCondition("selenium.isElementPresent(" + "\"//*[@name='name:textField']\");", "30000"); + selenium.selectFrame("index=0"); + selenium.select("name=type:dropDownChoiceField", "value=0"); selenium.type("name=name:textField", "newschema"); selenium.click("name=apply"); + seleniumDriver.switchTo().defaultContent(); + selenium.waitForCondition("selenium.isTextPresent(\"newschema\");", "30000"); } Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java Thu May 15 13:47:33 2014 @@ -28,17 +28,31 @@ public class TaskTestITCase extends Abst selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//div[@id='tabs']/ul/li[4]/a"); - selenium.click("//*[div=1]/../td[10]/div/span[3]/a"); + selenium.click("//div[@id='tabs']/ul/li[1]/a"); + + selenium.waitForCondition("selenium.isElementPresent(" + + "\"//tr[4]/td[10]/div/span[3]/a/img\");", "30000"); + + selenium.click("//tr[4]/td[10]/div/span[3]/a/img"); selenium.waitForCondition("selenium.isTextPresent(" + "\"Operation executed successfully\");", "30000"); - selenium.click("//*[div=1]/../td[10]/div/span[9]/a"); + selenium.waitForCondition("selenium.isElementPresent(" + + "\"//tr[4]/td[10]/div/span[9]/a/img\");", "30000"); + + selenium.click("//tr[4]/td[10]/div/span[9]/a/img"); + + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); selenium.waitForCondition("selenium.isElementPresent(" - + "\"//form/div[2]/div/div/span/div/div/div[2]/span/input\");", "30000"); + + "\"//div[2]/form/div[2]/ul/li[2]/a\");", "30000"); - assertTrue(selenium.isElementPresent("//form/div[2]/div[2]/span/table/tbody/tr[2]/td")); + selenium.click("//div[2]/form/div[2]/ul/li[2]/a"); + + assertTrue(selenium.isElementPresent("//div[2]/form/div[2]/div[2]/span/table/tbody/tr[2]/td[2]")); + + seleniumDriver.switchTo().defaultContent(); selenium.click("css=a.w_close"); } @@ -49,10 +63,11 @@ public class TaskTestITCase extends Abst selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//div[@id='tabs']/ul/li[3]/a/span"); - selenium.click("//table/tbody/tr/td[8]/div/span[11]/a"); + selenium.click("//div[@id='tabs']/ul/li[3]/a"); - assertTrue(selenium.getConfirmation().equals("Do you really want to delete the selected item(s)?")); + selenium.waitForCondition("selenium.isElementPresent(\"xpath=(//img[@alt='delete icon'])[6]\");", "30000"); + + selenium.click("xpath=(//img[@alt='delete icon'])[6]"); // selenium.waitForCondition("selenium.isTextPresent(\"Operation executed successfully\");", "30000"); } @@ -69,8 +84,12 @@ public class TaskTestITCase extends Abst selenium.waitForCondition( "selenium.isElementPresent(\"//div[2]/form/div[2]/div/div/span/div/div[2]/div/label\");", "30000"); + selenium.selectFrame("index=0"); + selenium.click("//div[2]/form/div[3]/input[2]"); + seleniumDriver.switchTo().defaultContent(); + selenium.waitForCondition("selenium.isTextPresent(\"Id\");", "30000"); } } Modified: syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/UserTestITCase.java URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/UserTestITCase.java?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/UserTestITCase.java (original) +++ syncope/branches/1_1_X/console/src/test/java/org/apache/syncope/console/UserTestITCase.java Thu May 15 13:47:33 2014 @@ -31,6 +31,9 @@ public class UserTestITCase extends Abst selenium.click("//a[contains(text(),'Create new user')]"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.waitForCondition("selenium.isElementPresent(" + "\"//span[contains(text(),'Attributes')]\");", "30000"); @@ -39,6 +42,9 @@ public class UserTestITCase extends Abst selenium.click("//div[@id='tabs']/ul/li[4]/a/span"); selenium.click("//div[@id='tabs']/ul/li[5]/a/span"); selenium.click("//div[@id='tabs']/ul/li[6]/a/span"); + + seleniumDriver.switchTo().defaultContent(); + selenium.click("css=a.w_close"); } @@ -52,6 +58,9 @@ public class UserTestITCase extends Abst //Edit vivaldi selenium.click("//*[@id=\"users-contain\"]//*[div=3]/../td[5]/div/span[9]/a"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.waitForCondition("selenium.isElementPresent(" + "\"//input[@value='Antonio Vivaldi']\");", "30000"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//input[@value='Vivaldi']\");", "30000"); @@ -61,6 +70,9 @@ public class UserTestITCase extends Abst selenium.click("//div[@id='tabs']/ul/li[4]/a/span"); selenium.click("//div[@id='tabs']/ul/li[5]/a/span"); selenium.click("//div[@id='tabs']/ul/li[6]/a/span"); + + seleniumDriver.switchTo().defaultContent(); + selenium.click("css=a.w_close"); } @@ -77,7 +89,7 @@ public class UserTestITCase extends Abst + "\"//td[4]/select[option='3 citizen']\");", "30000"); selenium.select("//td[4]/select", "label=3 citizen"); - selenium.click("name=search"); + selenium.click("//form/a"); selenium.waitForCondition( "selenium.isElementPresent(\"//*[@id='users-contain']//*[div=2]\");", "30000"); @@ -95,8 +107,13 @@ public class UserTestITCase extends Abst selenium.waitForCondition("selenium.isElementPresent(" + "\"//div[@id='propagation']/span\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//iframe\");", "30000"); + selenium.selectFrame("index=0"); + selenium.click("//*[@id=\"users-contain\"]/a"); + seleniumDriver.switchTo().defaultContent(); + selenium.waitForCondition("selenium.isTextPresent(" + "\"Operation executed successfully\");", "30000"); } } Modified: syncope/branches/1_1_X/pom.xml URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/pom.xml?rev=1594915&r1=1594914&r2=1594915&view=diff ============================================================================== --- syncope/branches/1_1_X/pom.xml (original) +++ syncope/branches/1_1_X/pom.xml Thu May 15 13:47:33 2014 @@ -346,7 +346,7 @@ under the License. <slf4j.version>1.7.7</slf4j.version> <junit.version>4.11</junit.version> - <selenium-java-client-driver.version>1.0.2</selenium-java-client-driver.version> + <selenium-version>2.41.0</selenium-version> <apacheds.version>1.5.7</apacheds.version> @@ -856,16 +856,32 @@ under the License. </dependency> <!-- TEST --> + + <!-- SELENIUM INTEGRATION TEST --> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-api</artifactId> + <version>${selenium-version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-java</artifactId> + <version>${selenium-version}</version> <scope>test</scope> </dependency> <dependency> - <groupId>org.seleniumhq.selenium.client-drivers</groupId> - <artifactId>selenium-java-client-driver</artifactId> - <version>${selenium-java-client-driver.version}</version> + <groupId>org.seleniumhq.selenium</groupId> + <artifactId>selenium-support</artifactId> + <version>${selenium-version}</version> + <scope>test</scope> + </dependency> + <!-- /SELENIUM INTEGRATION TEST --> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency>