]> source.dussan.org Git - vaadin-framework.git/commitdiff
Unified all portal integration tests to be based on JSR286Portlet (#8013, #9566,...
authorArtur Signell <artur@vaadin.com>
Mon, 18 Mar 2013 11:56:56 +0000 (13:56 +0200)
committerVaadin Code Review <review@vaadin.com>
Thu, 21 Mar 2013 07:22:18 +0000 (07:22 +0000)
All portal tests are now based on the same test script. Portal tests avoid Vaadin locators to avoid random problems with the portlet id changing between test runs.

* eXo 3 test must be run on Firefox, does not work in Chrome
* Liferay theme test is now a separate test which does not depend on the Liferay integration test
* Changing to maximized state using an action URL does not work with GateIn or eXo
* The edit mode link does not work in WebLogic Portal as WebLogic feels it is not an allowed mode for the portlet

Change-Id: I7a683688d8ffc611e211f8a60889a34b233b81c9

13 files changed:
WebContent/WEB-INF/portlet.xml
uitest/integration-testscripts/GateIn-3/integration-test-GateIn-3.1.0-portlet2.html
uitest/integration-testscripts/Liferay-5/integration-test-liferay-5.2.3-portlet2.html
uitest/integration-testscripts/Liferay-6/Liferay6-and-6EE-theme-deploy.html [new file with mode: 0644]
uitest/integration-testscripts/Liferay-6/Liferay6-theme.html
uitest/integration-testscripts/Liferay-6/integration-test-liferay-6.0.5.html
uitest/integration-testscripts/Liferay-6EE/Liferay6EE-theme.html
uitest/integration-testscripts/common/portlet_test.tpl [new file with mode: 0644]
uitest/integration-testscripts/eXo-3/integration-test-eXo-3.0.3-portlet2.html
uitest/integration-testscripts/weblogic-portal/integration-test-WebLogic-Portal-10.3.2-portlet2.html
uitest/integration_tests.xml
uitest/src/com/vaadin/tests/integration/JSR286Portlet.java [new file with mode: 0644]
uitest/src/com/vaadin/tests/integration/JSR286PortletApplication.java [deleted file]

index 195269eb61c52a414d9de06b95ba1b41351b0d33..45ce1eee836900d1e91a2e425cd90a83ee6cbc11 100644 (file)
@@ -6,10 +6,10 @@
        <portlet>
                <portlet-name>JSR286TestPortlet</portlet-name>
                <display-name>Vaadin Portlet 2.0 Test</display-name>
-               <portlet-class>com.vaadin.server.LegacyVaadinPortlet</portlet-class>
+               <portlet-class>com.vaadin.server.VaadinPortlet</portlet-class>
                <init-param>
-                       <name>application</name>
-                       <value>com.vaadin.tests.integration.JSR286PortletApplication</value>
+                       <name>ui</name>
+                       <value>com.vaadin.tests.integration.JSR286Portlet</value>
                </init-param>
                <init-param>
                        <name>widgetset</name>
index 5d2d4c34459224479b6eb98449da065e73f1c735..7df5894f15ff6540d8e1f0c89ee08197ff855a51 100644 (file)
        <td>Vaadin Portlet 2.0 Test</td>
        <td></td>
 </tr>
-<!--Switch to view mode-->
+<!--Switch to portlet user mode-->
 <tr>
        <td>mouseClickAndWait</td>
        <td>//a[@onclick='eXo.core.DOMUtil.disableOnClick(this);']</td>
        <td>13,5</td>
 </tr>
+<!--Start of actual portlet test-->
 <tr>
        <td>waitForElementPresent</td>
-       <td>//div[2]/div/div[2]/img</td>
+       <td>//div[2]/div/div/div/span</td>
        <td></td>
 </tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[2]/div/div/div/span</td>
+       <td>Test of ApplicationResources with full path</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>screenCapture</td>
+       <td></td>
+       <td>initial</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertTextNotPresent</td>
+       <td>Action * received</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
+</tr>
+<!--Send an action-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[8]/div/a/span</td>
+       <td>32,9</td>
+</tr>
+<tr>
+       <td>assertTextPresent</td>
+       <td>Action 'someAction' received</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<!--Switch to edit mode-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[5]/div/a/span</td>
+       <td>12,3</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<!--Maximize-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[6]/div/a/span</td>
+       <td>16,7</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Maximize</td>
+</tr>
+<!--Restore back to normal-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[6]/div/a/span</td>
+       <td>71,8</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Maximize</td>
+</tr>
 <tr>
        <td>screenCapture</td>
        <td></td>
-       <td>view</td>
+       <td>final</td>
 </tr>
 </tbody></table>
 </body>
index 55c9d18eb8d438138cc0c84720a019b0e014057d..e1ceca0f1b43a43c8665ebd8116c8564848b743a 100644 (file)
        <td>//div[@id='Vaadin-VaadinPortlet20Test']/p/a</td>
        <td>16,11</td>
 </tr>
+<!--Start of actual portlet test-->
 <tr>
-       <td>pause</td>
-       <td>1000</td>
+       <td>waitForElementPresent</td>
+       <td>//div[2]/div/div/div/span</td>
        <td></td>
 </tr>
 <tr>
-       <td>waitForVaadin</td>
-       <td></td>
+       <td>assertText</td>
+       <td>//div[2]/div/div/div/span</td>
+       <td>Test of ApplicationResources with full path</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>screenCapture</td>
        <td></td>
+       <td>initial</td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[2]</td>
-       <td></td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
 </tr>
 <tr>
-       <td>verifyTextNotPresent</td>
-       <td>Action received</td>
+       <td>assertTextNotPresent</td>
+       <td>Action received</td>
        <td></td>
 </tr>
 <tr>
-       <td>mouseClickAndWait</td>
-       <td>vaadin=v-JSR286TestPortlet_WAR_demo_LAYOUT_10706::/VVerticalLayout[0]/ChildComponentContainer[4]/VLink[0]/domChild[0]/domChild[0]</td>
-       <td>8,7</td>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
 </tr>
+<!--Send an action-->
 <tr>
-       <td>closeNotification</td>
-       <td>//body/div[2]</td>
-       <td>0,0</td>
+       <td>mouseClickAndWait</td>
+       <td>//div[8]/div/a/span</td>
+       <td>32,9</td>
 </tr>
 <tr>
-       <td>verifyTextPresent</td>
-       <td>Done</td>
+       <td>assertTextPresent</td>
+       <td>Action 'someAction' received</td>
        <td></td>
 </tr>
 <tr>
-       <td>verifyTextPresent</td>
-       <td>Action received</td>
-       <td></td>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
 </tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<!--Switch to edit mode-->
 <tr>
        <td>mouseClickAndWait</td>
-       <td>vaadin=v-JSR286TestPortlet_WAR_demo_LAYOUT_10706::/VVerticalLayout[0]/ChildComponentContainer[7]/VLink[0]/domChild[0]/domChild[0]</td>
-       <td>28,7</td>
+       <td>//div[5]/div/a/span</td>
+       <td>12,3</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[2]</td>
+       <td>//body/div[2]/div</td>
        <td>0,0</td>
 </tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<!--Maximize-->
 <tr>
        <td>mouseClickAndWait</td>
-       <td>vaadin=v-JSR286TestPortlet_WAR_demo_LAYOUT_10706::/VVerticalLayout[0]/ChildComponentContainer[5]/VLink[0]/domChild[0]/domChild[0]</td>
-       <td>37,-41</td>
+       <td>//div[6]/div/a/span</td>
+       <td>16,7</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: maximized</td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[2]</td>
+       <td>//body/div[2]/div</td>
        <td>0,0</td>
 </tr>
 <tr>
-       <td>verifyTextPresent</td>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
        <td>Back to normal</td>
-       <td></td>
 </tr>
+<!--Restore back to normal-->
 <tr>
        <td>mouseClickAndWait</td>
-       <td>vaadin=v-JSR286TestPortlet_WAR_demo_LAYOUT_10706::/VVerticalLayout[0]/ChildComponentContainer[5]/VLink[0]/domChild[0]/domChild[0]</td>
-       <td>46,-57</td>
+       <td>//div[6]/div/a/span</td>
+       <td>71,8</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[2]</td>
+       <td>//body/div[2]/div</td>
        <td>0,0</td>
 </tr>
 <tr>
-       <td>verifyTextPresent</td>
-       <td>Edit</td>
-       <td></td>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
 </tr>
 <tr>
-       <td>verifyTextPresent</td>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
        <td>Maximize</td>
+</tr>
+<tr>
+       <td>screenCapture</td>
        <td></td>
+       <td>final</td>
 </tr>
 </tbody></table>
 </body>
diff --git a/uitest/integration-testscripts/Liferay-6/Liferay6-and-6EE-theme-deploy.html b/uitest/integration-testscripts/Liferay-6/Liferay6-and-6EE-theme-deploy.html
new file mode 100644 (file)
index 0000000..50f71d9
--- /dev/null
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>integration-test-liferay-6.0.5</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">integration-test-liferay-6.0.5</td></tr>
+</thead><tbody>
+<tr>
+       <td>open</td>
+       <td>/web/guest/</td>
+       <td></td>
+</tr>
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>sign-in</td>
+       <td>49,17</td>
+</tr>
+<tr>
+       <td>enterCharacter</td>
+       <td>_58_login</td>
+       <td>test@liferay.com</td>
+</tr>
+<tr>
+       <td>enterCharacter</td>
+       <td>_58_password</td>
+       <td>test</td>
+</tr>
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//input[@value='Sign In']</td>
+       <td>43,18</td>
+</tr>
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//input[@type='submit']</td>
+       <td>16,-1321</td>
+</tr>
+<tr>
+       <td>type</td>
+       <td>reminderQueryAnswer</td>
+       <td>-</td>
+</tr>
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//input[@value='Save']</td>
+       <td>86,13</td>
+</tr>
+<tr>
+       <td>drag</td>
+       <td>link=Add</td>
+       <td></td>
+</tr>
+<tr>
+       <td>mouseOver</td>
+       <td>link=Add</td>
+       <td>60,15</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>addPage</td>
+       <td>45,11</td>
+</tr>
+<tr>
+       <td>enterCharacter</td>
+       <td>//div/span[1]/span/input</td>
+       <td>Vaadin Liferay Theme</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>save</td>
+       <td>10,12</td>
+</tr>
+<tr>
+       <td>waitForElementPresent</td>
+       <td>//nav/ul/li[2]/a/span</td>
+       <td></td>
+</tr>
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//nav/ul/li[2]/a/span</td>
+       <td>26,7</td>
+</tr>
+<tr>
+       <td>drag</td>
+       <td>link=Add</td>
+       <td></td>
+</tr>
+<tr>
+       <td>mouseOver</td>
+       <td>link=Manage</td>
+       <td>32,4</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>link=Page Layout</td>
+       <td>78,17</td>
+</tr>
+<tr>
+       <td>waitForElementPresent</td>
+       <td>//form/div/div</td>
+       <td></td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>//div[2]/img</td>
+       <td>47,73</td>
+</tr>
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[5]/span/span/input</td>
+       <td>32,14</td>
+</tr>
+<tr>
+       <td>drag</td>
+       <td>link=Add</td>
+       <td></td>
+</tr>
+<tr>
+       <td>mouseOver</td>
+       <td>link=Add</td>
+       <td>56,23</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>link=More…</td>
+       <td>50,13</td>
+</tr>
+<tr>
+       <td>waitForElementPresent</td>
+       <td>//div[@title='Vaadin Liferay Theme']/p/a</td>
+       <td></td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>//div[@title='Vaadin Liferay Theme']/p/a</td>
+       <td>10,10</td>
+</tr>
+</tbody></table>
+</body>
+</html>
\ No newline at end of file
index c61adb0dd7258255d0207c17095529f27f313d24..03f2d251203cac025c3e7bc97a8c286dd3ee7c81 100644 (file)
@@ -4,21 +4,19 @@
 <head profile="http://selenium-ide.openqa.org/profiles/test-case">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <link rel="selenium.base" href="" />
-<title>test-liferay6-theme</title>
+<title>integration-test-liferay-6.0.5</title>
 </head>
 <body>
-<!-- 
-       If you update this test, remember make the same changes to Liferay6EE-theme too!
--->
 <table cellpadding="1" cellspacing="1" border="1">
 <thead>
-<tr><td rowspan="1" colspan="3">LiferayTheme</td></tr>
+<tr><td rowspan="1" colspan="3">integration-test-liferay-6.0.5</td></tr>
 </thead><tbody>
 <tr>
        <td>open</td>
-       <td>/web/guest/vaadin-liferay-theme/</td>
+       <td>/web/guest/vaadin-liferay-theme</td>
        <td></td>
 </tr>
+<!--Start actual test-->
 <tr>
        <td>screenCapture</td>
        <td></td>
        <td>vaadin=v-VaadinLiferayThemePortlet_WAR_demo_LAYOUT_11352::Root/VNotification[0]</td>
        <td>0,0</td>
 </tr>
-<!--
-<tr>
-       <td>pause</td>
-       <td>500</td>
-       <td></td>
-</tr>
--->
 <tr>
        <td>click</td>
        <td>vaadin=v-VaadinLiferayThemePortlet_WAR_demo_LAYOUT_11352::/VVerticalLayout[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VTabsheet[0]/VTabsheetPanel[0]/VGridLayout[0]/VButton[3]/domChild[0]/domChild[0]</td>
        <td></td>
        <td>openedmenu</td>
 </tr>
-
 </tbody></table>
 </body>
 </html>
\ No newline at end of file
index 037ce238659f5a3e4ed4de042675ec099a43149d..656f2352e541d6aa3bd8f54ebde42d46e85a9bc5 100644 (file)
@@ -69,7 +69,7 @@
 <tr>
        <td>enterCharacter</td>
        <td>//div/span[1]/span/input</td>
-       <td>Vaadin Liferay Theme</td>
+       <td>portlet2</td>
 </tr>
 <tr>
        <td>mouseClick</td>
 </tr>
 <tr>
        <td>waitForElementPresent</td>
-       <td>//div[@title='Vaadin Liferay Theme']/p/a</td>
+       <td>//div[@title='Vaadin Portlet 2.0 Test']/p/a</td>
        <td></td>
 </tr>
 <tr>
        <td>mouseClick</td>
-       <td>//div[@title='Vaadin Liferay Theme']/p/a</td>
+       <td>//div[@title='Vaadin Portlet 2.0 Test']/p/a</td>
        <td>10,10</td>
 </tr>
+<!--Start actual test-->
 <tr>
-       <td>waitForTextPresent</td>
-       <td>Normal Label</td>
+       <td>waitForElementPresent</td>
+       <td>//div[2]/div/div/div/span</td>
        <td></td>
 </tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[2]/div/div/div/span</td>
+       <td>Test of ApplicationResources with full path</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[3]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
 <tr>
        <td>screenCapture</td>
        <td></td>
-       <td>theme</td>
+       <td>initial</td>
 </tr>
 <tr>
-       <td>mouseClick</td>
-       <td>//td[3]/div/div/div</td>
-       <td>22,7</td>
+       <td>closeNotification</td>
+       <td>//body/div[3]/div</td>
+       <td>0,0</td>
 </tr>
 <tr>
-       <td>assertTextPresent</td>
-       <td>Normal TextField</td>
+       <td>assertTextNotPresent</td>
+       <td>Action * received</td>
        <td></td>
 </tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
+</tr>
+<!--Send an action-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[8]/div/a/span</td>
+       <td>32,9</td>
+</tr>
 <tr>
        <td>assertTextPresent</td>
-       <td>Normal TextArea</td>
+       <td>Action 'someAction' received</td>
        <td></td>
 </tr>
 <tr>
-       <td>assertTextNotPresent</td>
-       <td>Normal Label</td>
+       <td>assertText</td>
+       <td>//body/div[3]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[3]/div</td>
+       <td>0,0</td>
+</tr>
+<!--Switch to edit mode-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[5]/div/a/span</td>
+       <td>12,3</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[3]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[3]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<!--Maximize-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[6]/div/a/span</td>
+       <td>16,7</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[3]/div//p</td>
+       <td>exact:Mode: edit State: maximized</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[3]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Back to normal</td>
+</tr>
+<!--Restore back to normal-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[6]/div/a/span</td>
+       <td>71,8</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[3]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[3]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Maximize</td>
+</tr>
+<tr>
+       <td>screenCapture</td>
        <td></td>
+       <td>final</td>
 </tr>
 </tbody></table>
 </body>
index f4772ef7ad8e04f63a5a50b4229a7ec13212ac41..15d9571bad02775e939fe47db0f264798c4067a0 100644 (file)
@@ -4,22 +4,19 @@
 <head profile="http://selenium-ide.openqa.org/profiles/test-case">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <link rel="selenium.base" href="" />
-<title>test-liferay6ee-theme</title>
+<title>integration-test-liferay-6.0.5</title>
 </head>
 <body>
-<!-- 
-       This test is the same test as the Liferay6-theme test.
-       The only change is VaadinLiferayThemePortlet_WAR_demo_LAYOUT_11352 => VaadinLiferayThemePortlet_WAR_demo_LAYOUT_10413
--->
 <table cellpadding="1" cellspacing="1" border="1">
 <thead>
-<tr><td rowspan="1" colspan="3">LiferayTheme</td></tr>
+<tr><td rowspan="1" colspan="3">integration-test-liferay-6.0.5</td></tr>
 </thead><tbody>
 <tr>
        <td>open</td>
-       <td>/web/guest/vaadin-liferay-theme/</td>
+       <td>/web/guest/vaadin-liferay-theme</td>
        <td></td>
 </tr>
+<!--Start actual test-->
 <tr>
        <td>screenCapture</td>
        <td></td>
        <td>vaadin=v-VaadinLiferayThemePortlet_WAR_demo_LAYOUT_10413::Root/VNotification[0]</td>
        <td>0,0</td>
 </tr>
-<!--
-<tr>
-       <td>pause</td>
-       <td>500</td>
-       <td></td>
-</tr>
--->
 <tr>
        <td>click</td>
        <td>vaadin=v-VaadinLiferayThemePortlet_WAR_demo_LAYOUT_10413::/VVerticalLayout[0]/VCssLayout[0]/VCssLayout$FlowPane[0]/VTabsheet[0]/VTabsheetPanel[0]/VGridLayout[0]/VButton[3]/domChild[0]/domChild[0]</td>
        <td></td>
        <td>openedmenu</td>
 </tr>
-
 </tbody></table>
 </body>
 </html>
\ No newline at end of file
diff --git a/uitest/integration-testscripts/common/portlet_test.tpl b/uitest/integration-testscripts/common/portlet_test.tpl
new file mode 100644 (file)
index 0000000..e4b83ef
--- /dev/null
@@ -0,0 +1,134 @@
+<tr>
+       <td>waitForElementPresent</td>
+       <td>//div[2]/div/div/div/span</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[2]/div/div/div/span</td>
+       <td>Test of ApplicationResources with full path</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>screenCapture</td>
+       <td></td>
+       <td>initial</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertTextNotPresent</td>
+       <td>Action * received</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
+</tr>
+<!--Send an action-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[8]/div/a/span</td>
+       <td>32,9</td>
+</tr>
+<tr>
+       <td>assertTextPresent</td>
+       <td>Action 'someAction' received</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<!--Switch to edit mode-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[5]/div/a/span</td>
+       <td>12,3</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<!--Maximize-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[6]/div/a/span</td>
+       <td>16,7</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: maximized</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Back to normal</td>
+</tr>
+<!--Restore back to normal-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[6]/div/a/span</td>
+       <td>71,8</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[2]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[2]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Maximize</td>
+</tr>
+<tr>
+       <td>screenCapture</td>
+       <td></td>
+       <td>final</td>
+</tr>
\ No newline at end of file
index af85dfd161452040b895c0854bec779a7ec8ecb2..8813f7fe23a4a85c37aca9228bc6ba7427ba02b1 100644 (file)
@@ -3,13 +3,13 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head profile="http://selenium-ide.openqa.org/profiles/test-case">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<link rel="selenium.base" href="http://vaadin-integration-tests.intra.itmill.com:8080/" />
-<title>integration-test-eXo-3.0.3-portlet2</title>
+<link rel="selenium.base" href="" />
+<title>integration-test-eXo-3.1.0-portlet2</title>
 </head>
 <body>
 <table cellpadding="1" cellspacing="1" border="1">
 <thead>
-<tr><td rowspan="1" colspan="3">integration-test-eXo-3.0.3-portlet2</td></tr>
+<tr><td rowspan="1" colspan="3">integration-test-eXo-3.1.0-portlet2</td></tr>
 </thead><tbody>
 <tr>
        <td>open</td>
        <td>37,4</td>
 </tr>
 <tr>
-       <td>setTimeout</td>
-       <td>60000</td>
+       <td>waitForElementPresent</td>
+       <td>link=Applications Registry</td>
        <td></td>
 </tr>
 <tr>
-       <td>waitForElementPresent</td>
+       <td>mouseClickAndWait</td>
        <td>link=Applications Registry</td>
        <td></td>
 </tr>
 <tr>
-       <td>open</td>
-       <td>/portal/private/intranet/administration/registry</td>
-       <td>138,17</td>
+       <td>mouseClick</td>
+       <td>link=Portlet</td>
+       <td>33,11</td>
+</tr>
+<tr>
+       <td>waitForElementPresent</td>
+       <td>link=Vaadin Portlet 2.0 Test</td>
+       <td>59,9</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>link=Vaadin Portlet 2.0 Test</td>
+       <td>59,9</td>
 </tr>
 <tr>
        <td>waitForElementPresent</td>
-       <td>//div[@id='UIApplicationOrganizer']/div[1]/div[2]</td>
+       <td>link=Click here to add into categories</td>
        <td></td>
 </tr>
 <tr>
-       <td>expectDialog</td>
-       <td>//div[@id='UIApplicationOrganizer']/div[1]/div[2]</td>
-       <td>36,15</td>
+       <td>mouseClick</td>
+       <td>link=Click here to add into categories</td>
+       <td>48,3</td>
 </tr>
 <tr>
-       <td>getConfirmation</td>
+       <td>waitForElementPresent</td>
+       <td>name=category_Gadgets</td>
        <td></td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>name=category_Gadgets</td>
+       <td>10,16</td>
+</tr>
+<tr>
+       <td>waitForElementPresent</td>
+       <td>link=Save</td>
        <td></td>
 </tr>
+<tr>
+       <td>mouseClick</td>
+       <td>link=Save</td>
+       <td>4,6</td>
+</tr>
 <tr>
        <td>waitForElementPresent</td>
-       <td>link=demo</td>
+       <td>link=Vaadin Liferay Theme</td>
        <td></td>
 </tr>
 <tr>
        <td>mouseClick</td>
-       <td>link=Add New Page</td>
-       <td>64,16</td>
+       <td>link=Vaadin Liferay Theme</td>
+       <td>64,13</td>
 </tr>
 <tr>
        <td>waitForElementPresent</td>
-       <td>//form[@id='UIWizardPageSetInfo']/div[2]/div[2]/div/div[2]/div[1]</td>
+       <td>link=Click here to add into categories</td>
        <td></td>
 </tr>
 <tr>
        <td>mouseClick</td>
-       <td>pageName</td>
-       <td>98,10</td>
+       <td>link=Click here to add into categories</td>
+       <td>96,9</td>
 </tr>
 <tr>
-       <td>enterCharacter</td>
-       <td>pageName</td>
-       <td>Application_test</td>
+       <td>waitForElementPresent</td>
+       <td>name=category_Gadgets</td>
+       <td>7,12</td>
 </tr>
 <tr>
-       <td>enterCharacter</td>
-       <td>pageDisplayName</td>
-       <td>Vaadin test</td>
+       <td>mouseClick</td>
+       <td>name=category_Gadgets</td>
+       <td>7,12</td>
+</tr>
+<tr>
+       <td>waitForElementPresent</td>
+       <td>link=Save</td>
+       <td>4,6</td>
 </tr>
 <tr>
        <td>mouseClick</td>
-       <td>//div[@id='UIPageCreationWizard']/div/div[3]/div/div/div/div[2]/div/table/tbody/tr/td/div[2]/div/div/div</td>
-       <td>24,16</td>
+       <td>link=Save</td>
+       <td>4,6</td>
+</tr>
+<tr>
+       <td>waitForElementPresent</td>
+       <td>link=Add New Page</td>
+       <td>55,11</td>
+</tr>
+<tr>
+       <td>mouseClick</td>
+       <td>link=Add New Page</td>
+       <td>55,11</td>
 </tr>
 <tr>
        <td>waitForElementPresent</td>
-       <td>//form[@id='UIWizardPageSelectLayoutForm']/div[2]/div/div[1]/div[2]/div[1]/div[1]/div/div</td>
+       <td>pageName</td>
        <td></td>
 </tr>
+<tr>
+       <td>mouseClick</td>
+       <td>pageName</td>
+       <td>33,16</td>
+</tr>
+<tr>
+       <td>enterCharacter</td>
+       <td>pageName</td>
+       <td>Portlet2</td>
+</tr>
 <tr>
        <td>mouseClick</td>
        <td>//div[@id='UIPageCreationWizard']/div/div[3]/div/div/div/div[2]/div/table/tbody/tr/td/div[2]/div/div/div</td>
-       <td>20,12</td>
+       <td>36,12</td>
 </tr>
 <tr>
        <td>waitForElementPresent</td>
-       <td>link=demo</td>
+       <td>//div[@id='UIDropDownPageTemp']/div[1]/div/div/div/div/div/div</td>
        <td></td>
 </tr>
 <tr>
        <td>mouseClick</td>
-       <td>link=demo</td>
-       <td>24,7</td>
+       <td>//div[@id='UIPageCreationWizard']/div/div[3]/div/div/div/div[2]/div/table/tbody/tr/td/div[2]/div/div/div</td>
+       <td>21,13</td>
 </tr>
+<!--Drag JSR286 test portlet to page-->
 <tr>
        <td>waitForElementPresent</td>
-       <td>//div[@id='demo/JSR286TestPortlet']/div/div/div[1]/div[1]</td>
+       <td>//div[@id='Gadgets/JSR286TestPortlet']/div/div/div/div</td>
        <td></td>
 </tr>
 <tr>
        <td>drag</td>
-       <td>//div[@id='demo/JSR286TestPortlet']/div/div/div[1]/div[2]</td>
-       <td>147,6</td>
+       <td>//div[@id='Gadgets/JSR286TestPortlet']/div/div/div/div</td>
+       <td></td>
 </tr>
 <tr>
-       <td>mouseMoveAt</td>
+       <td>drop</td>
        <td>//div[2]/div/div/div[1]/div/div[2]/div/div/div/div</td>
-       <td>20,20</td>
+       <td>113,9</td>
 </tr>
 <tr>
-       <td>drop</td>
-       <td>//div[@id='UIPortalApplication']/div[4]</td>
-       <td>760,138</td>
+       <td>waitForTextPresent</td>
+       <td>Vaadin Portlet 2.0 Test</td>
+       <td></td>
 </tr>
+<!--Switch to view mode-->
 <tr>
        <td>mouseClickAndWait</td>
        <td>//a[@onclick='eXo.core.DOMUtil.disableOnClick(this);']</td>
-       <td>10,7</td>
+       <td>13,5</td>
+</tr>
+<!--Start of actual portlet test-->
+<tr>
+       <td>waitForText</td>
+       <td>//div[2]/div/div/div/span</td>
+       <td>Test of ApplicationResources with full path</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[4]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>screenCapture</td>
+       <td></td>
+       <td>initial</td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[4]</td>
+       <td>//body/div[4]/div</td>
        <td>0,0</td>
 </tr>
 <tr>
-       <td>setTimeout</td>
-       <td>60000</td>
+       <td>assertTextNotPresent</td>
+       <td>Action * received</td>
        <td></td>
 </tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
+</tr>
+<!--Send an action-->
 <tr>
        <td>mouseClickAndWait</td>
-       <td>//div[@id='UIPage']/div/div/div[2]/div/div/div/div/div/div/div[2]/div[5]/div/a</td>
-       <td>10,10</td>
+       <td>//div[8]/div/a/span</td>
+       <td>32,9</td>
+</tr>
+<tr>
+       <td>assertTextPresent</td>
+       <td>Action 'someAction' received</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[4]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Edit</td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[4]</td>
+       <td>//body/div[4]/div</td>
        <td>0,0</td>
 </tr>
+<!--Switch to edit mode-->
 <tr>
-       <td>pause</td>
-       <td>1000</td>
-       <td></td>
+       <td>mouseClickAndWait</td>
+       <td>//div[5]/div/a/span</td>
+       <td>12,3</td>
 </tr>
 <tr>
-       <td>screenCapture</td>
-       <td></td>
-       <td>Edit_mode</td>
+       <td>assertText</td>
+       <td>//body/div[4]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[4]/div</td>
+       <td>0,0</td>
 </tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<!--Maximize-->
 <tr>
        <td>mouseClickAndWait</td>
-       <td>//div[@id='UIPage']/div/div/div[2]/div/div/div/div/div/div/div[2]/div[5]/div/a</td>
-       <td>15,8</td>
+       <td>//div[6]/div/a/span</td>
+       <td>16,7</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[3]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[4]</td>
+       <td>//body/div[3]/div</td>
        <td>0,0</td>
 </tr>
 <tr>
-       <td>pause</td>
-       <td>1000</td>
-       <td></td>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Maximize</td>
+</tr>
+<!--Restore back to normal-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[6]/div/a/span</td>
+       <td>71,8</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[3]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[3]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Maximize</td>
 </tr>
 <tr>
        <td>screenCapture</td>
        <td></td>
-       <td>done</td>
+       <td>final</td>
 </tr>
 </tbody></table>
 </body>
index 98256862aa5e492615219e285e2b37de9a1e02a0..f9f1d316c9fccc9db445b1fe1ee7ed1b4122f726 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<link rel="selenium.base" href="http://vaadin-integration-tests.intra.itmill.com:7001/" />
-<title>integration-test-WebLogic-Portal-10.3.2-portlet2</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<thead>
-<tr><td rowspan="1" colspan="3">integration-test-WebLogic-Portal-10.3.2-portlet2</td></tr>
-</thead><tbody>
 <tr>
        <td>open</td>
        <td>/VaadinTest/TestPortal.portal</td>
        <td></td>
 </tr>
+<!--Start actual test-->
+<tr>
+       <td>waitForElementPresent</td>
+       <td>//div[2]/div/div/div/span</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[2]/div/div/div/span</td>
+       <td>Test of ApplicationResources with full path</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[4]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>screenCapture</td>
+       <td></td>
+       <td>initial</td>
+</tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[4]</td>
+       <td>//body/div[4]/div</td>
        <td>0,0</td>
 </tr>
+<tr>
+       <td>assertTextNotPresent</td>
+       <td>Action * received</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-disabled v-widget&quot;]/a/span</td>
+       <td></td>
+</tr>
+<!--Send an action-->
 <tr>
        <td>mouseClickAndWait</td>
-       <td>edit</td>
-       <td>31,9</td>
+       <td>//div[8]/div/a/span</td>
+       <td>32,9</td>
+</tr>
+<tr>
+       <td>assertTextPresent</td>
+       <td>Action 'someAction' received</td>
+       <td></td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[4]/div//p</td>
+       <td>exact:Mode: view State: normal</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-disabled v-widget&quot;]/a/span</td>
+       <td></td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[4]</td>
+       <td>//body/div[4]/div</td>
        <td>0,0</td>
 </tr>
+<!--Switch to edit mode-->
 <tr>
-       <td>screenCapture</td>
-       <td></td>
-       <td>Edit_mode</td>
+       <td>mouseClickAndWait</td>
+       <td>name=edit</td>
+       <td>3,5</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[4]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[4]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<!--Maximize-->
+<tr>
+       <td>mouseClickAndWait</td>
+       <td>//div[6]/div/a/span</td>
+       <td>16,7</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[4]/div//p</td>
+       <td>exact:Mode: edit State: maximized</td>
+</tr>
+<tr>
+       <td>closeNotification</td>
+       <td>//body/div[4]/div</td>
+       <td>0,0</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Back to normal</td>
 </tr>
+<!--Restore back to normal-->
 <tr>
        <td>mouseClickAndWait</td>
-       <td>vaadin=v-JSR286TestPortlet_1::/VVerticalLayout[0]/ChildComponentContainer[4]/VLink[0]/domChild[0]/domChild[0]</td>
-       <td>44,2</td>
+       <td>//div[6]/div/a/span</td>
+       <td>71,8</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//body/div[4]/div//p</td>
+       <td>exact:Mode: edit State: normal</td>
 </tr>
 <tr>
        <td>closeNotification</td>
-       <td>//body/div[4]</td>
+       <td>//body/div[4]/div</td>
        <td>0,0</td>
 </tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[@class=&quot;v-link v-widget&quot;]/a/span</td>
+       <td>Done</td>
+</tr>
+<tr>
+       <td>assertText</td>
+       <td>//div[6]/div/a/span</td>
+       <td>Maximize</td>
+</tr>
 <tr>
        <td>screenCapture</td>
        <td></td>
-       <td>done</td>
+       <td>final</td>
 </tr>
-
-</tbody></table>
-</body>
-</html>
index 9eab2d563c5ab037ccd6c3db735c20ee4e2a9e85..f8d250554c57b12b71fb82cbd8d06dae985cda75 100644 (file)
                <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-6/integration-test-liferay-6.0.5.html" />
                <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
 
+               <antcall target="run-generic-integration-test">
+                       <param name="startDelay" value="600" />
+                       <param name="test_browsers" value="winxp-firefox17-esr" />
+                       <param name="target-server" value="liferay6" />
+               </antcall>
+       </target>
+
+       <target name="integration-test-liferay6-theme">
+               <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-6/Liferay6-and-6EE-theme-deploy.html" />
+               <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+       
                <fileset dir="integration-testscripts" id="html-theme-files" includes="Liferay-6/Liferay6-theme.html" />
                <pathconvert pathsep=" " property="testfiles-theme" refid="html-theme-files" />
 
 
                <antcall target="run-generic-integration-test">
                        <param name="startDelay" value="600" />
+                       <param name="test_browsers" value="winxp-firefox17-esr" />
                        <param name="target-server" value="liferay6" />
                </antcall>
        </target>
 
                <antcall target="run-generic-integration-test">
                        <param name="startDelay" value="600" />
+                       <param name="test_browsers" value="winxp-firefox17-esr" />
                        <param name="target-server" value="liferay5" />
                </antcall>
        </target>
                <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-6EE/integration-test-liferay-6ee.html" />
                <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
 
+               <antcall target="run-generic-integration-test">
+                       <param name="startDelay" value="600" />
+                       <param name="test_browsers" value="winxp-firefox17-esr" />
+                       <param name="target-server" value="liferay6ee" />
+               </antcall>
+       </target>
+
+       <target name="integration-test-liferay6ee-theme">
+               <fileset dir="integration-testscripts" id="html-test-files" includes="Liferay-6/Liferay6-and-6EE-theme-deploy.html" />
+               <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
+               
                <fileset dir="integration-testscripts" id="html-theme-files" includes="Liferay-6EE/Liferay6EE-theme.html" />
                <pathconvert pathsep=" " property="testfiles-theme" refid="html-theme-files" />
 
                <antcall target="run-generic-integration-test">
                        <param name="startDelay" value="600" />
+                       <param name="test_browsers" value="winxp-firefox17-esr" />
                        <param name="target-server" value="liferay6ee" />
                </antcall>
        </target>
                <pathconvert pathsep=" " property="testfiles" refid="html-test-files" />
                <antcall target="run-generic-integration-test">
                        <param name="startDelay" value="600" />
-                       <param name="test_browsers" value="winxp-googlechrome21" />
+                       <param name="test_browsers" value="winxp-firefox17-esr" />
                        <param name="target-server" value="exo3" />
                </antcall>
        </target>
                        </antcontrib:trycatch>
                        <antcall target="integration-test-liferay6" />
                        <antcall target="integration-test-liferay6ee" />
+                       <antcall target="integration-test-liferay6-theme" />
+                       <antcall target="integration-test-liferay6ee-theme" />
                        <antcall target="integration-test-exo3" />
                        <antcall target="integration-test-weblogicPortal" />
                        <antcall target="integration-test-liferay5" />
diff --git a/uitest/src/com/vaadin/tests/integration/JSR286Portlet.java b/uitest/src/com/vaadin/tests/integration/JSR286Portlet.java
new file mode 100644 (file)
index 0000000..8591753
--- /dev/null
@@ -0,0 +1,214 @@
+package com.vaadin.tests.integration;
+
+import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.EventRequest;
+import javax.portlet.EventResponse;
+import javax.portlet.PortletMode;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.ResourceRequest;
+import javax.portlet.ResourceResponse;
+import javax.portlet.WindowState;
+
+import com.vaadin.annotations.StyleSheet;
+import com.vaadin.server.ExternalResource;
+import com.vaadin.server.VaadinPortletRequest;
+import com.vaadin.server.VaadinPortletService;
+import com.vaadin.server.VaadinPortletSession;
+import com.vaadin.server.VaadinPortletSession.PortletListener;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.shared.ui.label.ContentMode;
+import com.vaadin.ui.Embedded;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Link;
+import com.vaadin.ui.Notification;
+import com.vaadin.ui.Notification.Type;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.UI;
+import com.vaadin.ui.Upload;
+import com.vaadin.ui.Upload.Receiver;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * Adapted from old PortletDemo to support integration testing.
+ */
+@StyleSheet("PortletConnectorResource.css")
+public class JSR286Portlet extends UI {
+
+    TextField tf = new TextField("Some value");
+    Label userInfo = new Label();
+    Link portletEdit = new Link();
+    Link portletMax = new Link();
+    Link someAction = null;
+    private VerticalLayout main = new VerticalLayout();
+
+    @Override
+    protected void init(VaadinRequest request) {
+        setContent(main);
+        Embedded appResourceTest = new Embedded(
+                "Test of ApplicationResources with full path",
+                new FlagSeResource());
+        main.addComponent(appResourceTest);
+        Embedded specialNameResourceTest = new Embedded(
+                "Test ApplicationResources with special names",
+                new SpecialNameResource());
+        specialNameResourceTest.addStyleName("hugeBorder");
+        main.addComponent(specialNameResourceTest);
+
+        userInfo.setCaption("User info");
+        userInfo.setContentMode(ContentMode.PREFORMATTED);
+        main.addComponent(userInfo);
+
+        tf.setEnabled(false);
+        tf.setImmediate(true);
+        main.addComponent(tf);
+
+        portletEdit.setEnabled(false);
+        main.addComponent(portletEdit);
+        portletMax.setEnabled(false);
+        main.addComponent(portletMax);
+
+        Upload upload = new Upload("Upload a file", new Receiver() {
+
+            @Override
+            public OutputStream receiveUpload(String filename, String mimeType) {
+                return new ByteArrayOutputStream();
+            }
+        });
+        main.addComponent(upload);
+
+        possiblyChangedModeOrState();
+        getSession().addPortletListener(new DemoPortletListener());
+    }
+
+    @Override
+    public VaadinPortletSession getSession() {
+        return (VaadinPortletSession) super.getSession();
+    }
+
+    private void possiblyChangedModeOrState() {
+        VaadinPortletRequest request = (VaadinPortletRequest) VaadinPortletService
+                .getCurrentRequest();
+
+        boolean inViewMode = (request.getPortletMode() == PortletMode.VIEW);
+        boolean inNormalState = (request.getWindowState() == WindowState.NORMAL);
+        // Portlet up-and-running, enable stuff
+        portletEdit.setEnabled(true);
+        portletMax.setEnabled(true);
+
+        // Editable if we're in editmode
+        tf.setEnabled(!inViewMode);
+
+        // Show notification about current mode and state
+        getPage().showNotification(
+                new Notification("Portlet status", "Mode: "
+                        + request.getPortletMode() + " State: "
+                        + request.getWindowState(), Type.WARNING_MESSAGE));
+
+        // Display current user info
+        Map<?, ?> uinfo = (Map<?, ?>) request
+                .getAttribute(PortletRequest.USER_INFO);
+        if (uinfo != null) {
+            String s = "";
+            for (Iterator<?> it = uinfo.keySet().iterator(); it.hasNext();) {
+                Object key = it.next();
+                Object val = uinfo.get(key);
+                s += key + ": " + val + "\n";
+            }
+            if (request.isUserInRole("administrator")) {
+                s += "(administrator)";
+            }
+            userInfo.setValue(s);
+        } else {
+            userInfo.setValue("-");
+        }
+
+        // Create Edit/Done link (actionUrl)
+        PortletURL url = getSession().generateActionURL("changeMode");
+        try {
+            if (inViewMode) {
+                url.setPortletMode(PortletMode.EDIT);
+                portletEdit.setCaption("Edit");
+            } else {
+                url.setPortletMode(PortletMode.VIEW);
+                portletEdit.setCaption("Done");
+            }
+            portletEdit.setResource(new ExternalResource(url.toString()));
+        } catch (Exception e) {
+            portletEdit.setEnabled(false);
+            Logger.getLogger(getClass().getName()).log(Level.SEVERE,
+                    "Error creating edit mode link", e);
+        }
+
+        // Create Maximize/Normal link (actionUrl)
+        url = getSession().generateActionURL("changeState");
+        try {
+            if (inNormalState) {
+                url.setWindowState(WindowState.MAXIMIZED);
+                portletMax.setCaption("Maximize");
+            } else {
+                url.setWindowState(WindowState.NORMAL);
+                portletMax.setCaption("Back to normal");
+
+            }
+            portletMax.setResource(new ExternalResource(url.toString()));
+        } catch (Exception e) {
+            portletMax.setEnabled(false);
+            Logger.getLogger(getClass().getName()).log(Level.SEVERE,
+                    "Error creating state change link", e);
+        }
+
+        if (someAction == null) {
+            url = getSession().generateActionURL("someAction");
+            try {
+                someAction = new Link("An action", new ExternalResource(
+                        url.toString()));
+                main.addComponent(someAction);
+            } catch (Exception e) {
+                // Oops
+                System.err.println("Could not create someAction: " + e);
+            }
+
+        }
+    }
+
+    private class DemoPortletListener implements PortletListener {
+
+        @Override
+        public void handleActionRequest(ActionRequest request,
+                ActionResponse response, UI window) {
+            main.addComponent(new Label("Action '"
+                    + request.getParameter("javax.portlet.action")
+                    + "' received"));
+        }
+
+        @Override
+        public void handleRenderRequest(RenderRequest request,
+                RenderResponse response, UI window) {
+            possiblyChangedModeOrState();
+        }
+
+        @Override
+        public void handleEventRequest(EventRequest request,
+                EventResponse response, UI window) {
+            // events not used by this test
+        }
+
+        @Override
+        public void handleResourceRequest(ResourceRequest request,
+                ResourceResponse response, UI window) {
+            // nothing special to do here
+        }
+    }
+
+}
diff --git a/uitest/src/com/vaadin/tests/integration/JSR286PortletApplication.java b/uitest/src/com/vaadin/tests/integration/JSR286PortletApplication.java
deleted file mode 100644 (file)
index 81b7ebb..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-package com.vaadin.tests.integration;
-
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.portlet.ActionRequest;
-import javax.portlet.ActionResponse;
-import javax.portlet.EventRequest;
-import javax.portlet.EventResponse;
-import javax.portlet.PortletMode;
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletURL;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
-import javax.portlet.ResourceRequest;
-import javax.portlet.ResourceResponse;
-import javax.portlet.WindowState;
-
-import com.vaadin.annotations.StyleSheet;
-import com.vaadin.server.ExternalResource;
-import com.vaadin.server.LegacyApplication;
-import com.vaadin.server.VaadinPortletSession;
-import com.vaadin.server.VaadinPortletSession.PortletListener;
-import com.vaadin.shared.ui.label.ContentMode;
-import com.vaadin.ui.Embedded;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.LegacyWindow;
-import com.vaadin.ui.Link;
-import com.vaadin.ui.Notification;
-import com.vaadin.ui.TextField;
-import com.vaadin.ui.UI;
-import com.vaadin.ui.Upload;
-import com.vaadin.ui.Upload.Receiver;
-
-/**
- * Adapted from old PortletDemo to support integration testing.
- */
-public class JSR286PortletApplication extends LegacyApplication {
-
-    @StyleSheet("PortletConnectorResource.css")
-    public final class LegacyWindowWithStylesheet extends LegacyWindow {
-
-    }
-
-    LegacyWindow main = new LegacyWindowWithStylesheet();
-    TextField tf = new TextField("Some value");
-    Label userInfo = new Label();
-    Link portletEdit = new Link();
-    Link portletMax = new Link();
-    Link someAction = null;
-
-    @Override
-    public void init() {
-        setMainWindow(main);
-
-        Embedded appResourceTest = new Embedded(
-                "Test of ApplicationResources with full path",
-                new FlagSeResource());
-        main.addComponent(appResourceTest);
-        Embedded specialNameResourceTest = new Embedded(
-                "Test ApplicationResources with special names",
-                new SpecialNameResource());
-        specialNameResourceTest.addStyleName("hugeBorder");
-        main.addComponent(specialNameResourceTest);
-
-        userInfo.setCaption("User info");
-        userInfo.setContentMode(ContentMode.PREFORMATTED);
-        main.addComponent(userInfo);
-
-        tf.setEnabled(false);
-        tf.setImmediate(true);
-        main.addComponent(tf);
-
-        portletEdit.setEnabled(false);
-        main.addComponent(portletEdit);
-        portletMax.setEnabled(false);
-        main.addComponent(portletMax);
-
-        Upload upload = new Upload("Upload a file", new Receiver() {
-
-            @Override
-            public OutputStream receiveUpload(String filename, String mimeType) {
-                return new ByteArrayOutputStream();
-            }
-        });
-        main.addComponent(upload);
-
-        if (getContext() instanceof VaadinPortletSession) {
-            VaadinPortletSession ctx = (VaadinPortletSession) getContext();
-            ctx.addPortletListener(new DemoPortletListener());
-        } else {
-            getMainWindow().showNotification("Not inited via Portal!",
-                    Notification.TYPE_ERROR_MESSAGE);
-        }
-
-    }
-
-    private class DemoPortletListener implements PortletListener {
-
-        @Override
-        public void handleActionRequest(ActionRequest request,
-                ActionResponse response, UI window) {
-            main.addComponent(new Label("Action received"));
-        }
-
-        @Override
-        public void handleRenderRequest(RenderRequest request,
-                RenderResponse response, UI window) {
-            // Portlet up-and-running, enable stuff
-            portletEdit.setEnabled(true);
-            portletMax.setEnabled(true);
-
-            // Editable if we're in editmode
-            tf.setEnabled((request.getPortletMode() == PortletMode.EDIT));
-
-            // Show notification about current mode and state
-            getMainWindow().showNotification(
-                    "Portlet status",
-                    "Mode: " + request.getPortletMode() + " State: "
-                            + request.getWindowState(),
-                    Notification.TYPE_WARNING_MESSAGE);
-
-            // Display current user info
-            Map<?, ?> uinfo = (Map<?, ?>) request
-                    .getAttribute(PortletRequest.USER_INFO);
-            if (uinfo != null) {
-                String s = "";
-                for (Iterator<?> it = uinfo.keySet().iterator(); it.hasNext();) {
-                    Object key = it.next();
-                    Object val = uinfo.get(key);
-                    s += key + ": " + val + "\n";
-                }
-                if (request.isUserInRole("administrator")) {
-                    s += "(administrator)";
-                }
-                userInfo.setValue(s);
-            } else {
-                userInfo.setValue("-");
-            }
-
-            // Create Edit/Done link (actionUrl)
-            PortletURL url = response.createActionURL();
-            try {
-                url.setPortletMode((request.getPortletMode() == PortletMode.VIEW ? PortletMode.EDIT
-                        : PortletMode.VIEW));
-                portletEdit.setResource(new ExternalResource(url.toString()));
-                portletEdit
-                        .setCaption((request.getPortletMode() == PortletMode.VIEW ? "Edit"
-                                : "Done"));
-            } catch (Exception e) {
-                portletEdit.setEnabled(false);
-            }
-            // Create Maximize/Normal link (actionUrl)
-            url = response.createActionURL();
-            try {
-                url.setWindowState((request.getWindowState() == WindowState.NORMAL ? WindowState.MAXIMIZED
-                        : WindowState.NORMAL));
-                portletMax.setResource(new ExternalResource(url.toString()));
-                portletMax
-                        .setCaption((request.getWindowState() == WindowState.NORMAL ? "Maximize"
-                                : "Back to normal"));
-            } catch (Exception e) {
-                portletMax.setEnabled(false);
-            }
-
-            if (someAction == null) {
-                url = response.createActionURL();
-                try {
-                    someAction = new Link("An action", new ExternalResource(
-                            url.toString()));
-                    main.addComponent(someAction);
-                } catch (Exception e) {
-                    // Oops
-                    System.err.println("Could not create someAction: " + e);
-                }
-
-            }
-        }
-
-        @Override
-        public void handleEventRequest(EventRequest request,
-                EventResponse response, UI window) {
-            // events not used by this test
-        }
-
-        @Override
-        public void handleResourceRequest(ResourceRequest request,
-                ResourceResponse response, UI window) {
-            // nothing special to do here
-        }
-    }
-
-}