You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by an...@apache.org on 2014/05/15 15:47:34 UTC

svn commit: r1594915 - in /syncope/branches/1_1_X: ./ console/ console/src/test/java/org/apache/syncope/console/

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", "test@syncope.it");
 
         selenium.type("name=sender:textField", "test@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>