From 2bb706f4b0ab263eb68f8135be7173b53efe854c Mon Sep 17 00:00:00 2001
From: Vincent Bechu <vincent.bechu@nexedi.com>
Date: Fri, 4 Aug 2017 13:21:39 +0000
Subject: [PATCH] [erp5_officejs_ui_test] Update tests to follow officejs
 interface changes with rjs gadgets

---
 .../testOfficeJSBookmarkManager.zpt           | 284 +++++++++---------
 .../officejs_ui_zuite/testOfficeJSCribjs.xml  |  58 ----
 .../officejs_ui_zuite/testOfficeJSCribjs.zpt  |  34 ---
 .../testOfficeJSImageEditor.zpt               | 114 ++++++-
 .../testOfficeJSPdfViewer.zpt                 | 115 ++++++-
 .../testOfficeJSTextEditor.zpt                | 115 ++++++-
 ...tOfficeJSTextEditorErp5Synchronization.zpt | 186 +++++-------
 .../testOfficeJSWebTableEditor.zpt            | 114 ++++++-
 .../testOfficeJSsvgEditor.zpt                 | 114 ++++++-
 .../testOnlyfficePresentation.zpt             | 128 +++++++-
 .../testOnlyfficePresentationGadget.xml       |  58 ----
 .../testOnlyfficePresentationGadget.zpt       |  34 ---
 .../testOnlyfficeSpreadsheet.zpt              | 134 ++++++++-
 .../testOnlyfficeSpreadsheetGadget.xml        |  58 ----
 .../testOnlyfficeSpreadsheetGadget.zpt        |  34 ---
 .../officejs_ui_zuite/testOnlyfficeText.zpt   | 128 +++++++-
 .../testOnlyfficeTextErp5Synchronization.zpt  | 183 +++++------
 .../testOnlyfficeTextGadget.xml               |  58 ----
 .../testOnlyfficeTextGadget.zpt               |  34 ---
 19 files changed, 1209 insertions(+), 774 deletions(-)
 delete mode 100644 bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSCribjs.xml
 delete mode 100644 bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSCribjs.zpt
 delete mode 100644 bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentationGadget.xml
 delete mode 100644 bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentationGadget.zpt
 delete mode 100644 bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheetGadget.xml
 delete mode 100644 bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheetGadget.zpt
 delete mode 100644 bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextGadget.xml
 delete mode 100644 bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextGadget.zpt

diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSBookmarkManager.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSBookmarkManager.zpt
index 34166ad37d..70149c995a 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSBookmarkManager.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSBookmarkManager.zpt
@@ -24,43 +24,94 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/officejs_bookmark_manager/</td>
+  <td>${base_url}/web_site_module/officejs_bookmark_manager?ignore_layout:int=1&editable_mode:int=1</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>500</td>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
   <td></td>
 </tr>
 <tr>
-  <td>click</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<!-- Generic Officejs Test -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>runScript</td>
+  <td>
+    window.indexedDB.deleteDatabase('jio:setting');
+    window.indexedDB.deleteDatabase('jio:local_default')
+  </td>
   <td></td>
 </tr>
-<!-- Save 1st bookmark -->
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Local is Enough</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<!-- Save 1st bookmark -->
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
   <td></td>
 </tr>
 <tr>
@@ -75,17 +126,17 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='title']</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
   <td>type</td>
-  <td>//input[@name='title']</td>
+  <td>name=title</td>
   <td>${title_1}</td>
 </tr>
 <tr>
   <td>type</td>
-  <td>//input[@name='url_string']</td>
+  <td>name=url_string</td>
   <td>${url_1}</td>
 </tr>
 <tr>
@@ -93,35 +144,15 @@
   <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
-<!-- Save 2nd Bookmark -->
-<tr>
-  <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Bookmark List']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//a[@data-i18n='Bookmark List']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Add</td>
   <td></td>
 </tr>
+<!-- Save 2nd Bookmark -->
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//input</td>
+  <td>link=Add</td>
   <td></td>
 </tr>
 <tr>
@@ -136,17 +167,17 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='title']</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
   <td>type</td>
-  <td>//input[@name='title']</td>
+  <td>name=title</td>
   <td>${title_2}</td>
 </tr>
 <tr>
   <td>type</td>
-  <td>//input[@name='url_string']</td>
+  <td>name=url_string</td>
   <td>${url_2}</td>
 </tr>
 <tr>
@@ -154,12 +185,48 @@
   <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
-<!-- Search With Dispatcher and default redirection on bookmark-->
+<!-- Verify Search -->
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n='Filter']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@role='main']//div[@data-gadget-scope='erp5_searchfield']//input[@name='search']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//div[@role='main']//div[@data-gadget-scope='erp5_searchfield']//input[@name='search']</td>
+  <td>${title_2}</td>
+</tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
+  <td>//div[@role='main']//div[@data-gadget-scope='erp5_searchfield']//button[@type='submit']</td>
+  <td></td>
+</tr>
+<tr> <!-- Poor cats ... find another way -->
+  <td>pause</td>
+  <td>2000</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyElementPresent</td>
+  <td>link=${title_2}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFailureOnNext</td>
+  <td>false</td>
   <td></td>
 </tr>
+<tr>
+  <td>verifyElementPresent</td>
+  <td>link=${title_1}</td>
+  <td></td>
+</tr>
+<!-- Search With Dispatcher and default redirection on bookmark -->
 <tr>
   <td>waitForElementPresent</td>
   <td>//a[@data-i18n='Search']</td>
@@ -172,20 +239,24 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
+  <td>//button[@data-i18n='Proceed']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@role='main']//input[@name='search']</td>
   <td></td>
 </tr>
 <tr>
   <td>type</td>
-  <td>//input[@name='search']</td>
+  <td>//div[@role='main']//input[@name='search']</td>
   <td>cloud</td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
+  <td>//button[@data-i18n='Proceed']</td>
   <td></td>
 </tr>
-<!--- Verify Search --->
 <tr>
   <td>waitForElementPresent</td>
   <td>//h1[@class='test-script-title']</td>
@@ -196,20 +267,10 @@
   <td>//h1[@class='test-script-title']</td>
   <td>Title is : cloud</td>
 </tr>
-<!-- Add bookmark With Dispatcher Command-->
+<!-- Add bookmark With Dispatcher Command -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/officejs_bookmark_manager/</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
   <td></td>
 </tr>
 <tr>
@@ -223,28 +284,28 @@
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>500</td>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n='Proceed']</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
+  <td>//div[@role='main']//input[@name='search']</td>
   <td></td>
 </tr>
 <tr>
   <td>type</td>
-  <td>//input[@name='search']</td>
+  <td>//div[@role='main']//input[@name='search']</td>
   <td>!add ${base_url}/ERP5Site_printParameterAsHTMLTitle?parameter=</td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
+  <td>//button[@data-i18n='Proceed']</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='title']</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
@@ -262,12 +323,12 @@
   <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
-<!--- Verify Search Command--->
 <tr>
-  <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
   <td></td>
 </tr>
+<!--- Verify Search Command -->
 <tr>
   <td>waitForElementPresent</td>
   <td>//a[@data-i18n='Search']</td>
@@ -280,17 +341,22 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
+  <td>//button[@data-i18n='Proceed']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@role='main']//input[@name='search']</td>
   <td></td>
 </tr>
 <tr>
   <td>type</td>
-  <td>//input[@name='search']</td>
+  <td>//div[@role='main']//input[@name='search']</td>
   <td>!search mysearchterm</td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
+  <td>//button[@data-i18n='Proceed']</td>
   <td></td>
 </tr>
 <tr>
@@ -303,20 +369,10 @@
   <td>//h1[@class='test-script-title']</td>
   <td>Title is : mysearchterm</td>
 </tr>
-<!--- Set preferences --->
+<!-- Set preferences -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/officejs_bookmark_manager/</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
   <td></td>
 </tr>
 <tr>
@@ -354,15 +410,9 @@
   <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
-<!--- Do search and display result list --->
-<tr>
-  <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Search']</td>
+  <td>css=div.visible[data-gadget-scope="notification"]</td>
   <td></td>
 </tr>
 <tr>
@@ -372,68 +422,22 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>type</td>
-  <td>//input[@name='search']</td>
-  <td>cloud</td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//table//tbody//tr//td</td>
-  <td></td>
-</tr>
-<!--- Do search and redirect on search engine --->
-<tr>
-  <td>open</td>
-  <td>${base_url}/web_site_module/officejs_bookmark_manager/</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Search']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//a[@data-i18n='Search']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>//button[@data-i18n='Proceed']</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
+  <td>//div[@role='main']//input[@name='search']</td>
   <td></td>
 </tr>
 <tr>
   <td>type</td>
-  <td>//input[@name='search']</td>
+  <td>//div[@role='main']//input[@name='search']</td>
   <td>chocolate</td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
+  <td>//button[@data-i18n='Proceed']</td>
   <td></td>
 </tr>
 <tr>
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSCribjs.xml b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSCribjs.xml
deleted file mode 100644
index c712b3719d..0000000000
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSCribjs.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>testOfficeJSCribjs</string> </value>
-        </item>
-        <item>
-            <key> <string>output_encoding</string> </key>
-            <value> <string>utf-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <unicode></unicode> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSCribjs.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSCribjs.zpt
deleted file mode 100644
index 11b002c0b7..0000000000
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSCribjs.zpt
+++ /dev/null
@@ -1,34 +0,0 @@
-<html xmlns:tal="http://xml.zope.org/namespaces/tal"
-      xmlns:metal="http://xml.zope.org/namespaces/metal">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Test OfficeJS UI</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<thead>
-<tr><td rowspan="1" colspan="3">Test OfficeJS UI</td></tr>
-</thead><tbody>
-<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
-<!-- Clean Up -->
-<tr>
-  <td>open</td>
-  <td>${base_url}/bar_module/ListBoxZuite_reset</td>
-  <td></td>
-</tr>
-<tr>
-  <td>assertTextPresent</td>
-  <td>Reset Successfully.</td>
-  <td></td>
-</tr>
-<!-- Initialize -->
-<tr>
-  <td>open</td>
-  <td>${base_url}/web_site_module/officejs_cribjs/</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSImageEditor.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSImageEditor.zpt
index c56033171b..3488f9eb44 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSImageEditor.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSImageEditor.zpt
@@ -24,41 +24,135 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/officejs_image_editor/</td>
+  <td>${base_url}/web_site_module/officejs_image_editor?ignore_layout:int=1&editable_mode:int=1</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
+  <td></td>
+</tr>
+<tr>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<!-- Generic Officejs Test -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>500</td>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
   <td></td>
 </tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>store</td>
+  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>title</td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${title}</td>
+</tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
+<!-- Stop Generic -->
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input</td>
+  <td>identifier=canvas_front</td>
   <td></td>
 </tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSPdfViewer.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSPdfViewer.zpt
index ac620e0f20..49014f67b5 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSPdfViewer.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSPdfViewer.zpt
@@ -24,41 +24,136 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/officejs_pdf_viewer/</td>
+  <td>${base_url}/web_site_module/officejs_pdf_viewer?ignore_layout:int=1&editable_mode:int=1</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
+  <td></td>
+</tr>
+<tr>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<!-- Generic Officejs Test -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
   <td></td>
 </tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>store</td>
+  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>title</td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${title}</td>
+</tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
+<!-- Stop Generic -->
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input</td>
+  <td>identifier=viewerContainer</td>
   <td></td>
 </tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSTextEditor.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSTextEditor.zpt
index 7ac1631ee5..e9f5d8902f 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSTextEditor.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSTextEditor.zpt
@@ -3,6 +3,8 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Test OfficeJS UI</title>
+  <script src="../../web_site_module/officejs_text_editor/rsvp.js"></script>
+  <script src="../../web_site_module/officejs_text_editor/jiodev.js"></script>
 </head>
 <body>
 <table cellpadding="1" cellspacing="1" border="1">
@@ -24,36 +26,133 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/officejs_text_editor/development/#page=jio_configurator</td>
+  <td>${base_url}/web_site_module/officejs_text_editor?ignore_layout:int=1&editable_mode:int=1</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
+  <td></td>
+</tr>
+<tr>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>store</td>
+  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>title</td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${title}</td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>500</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input</td>
+  <td>identifier=cke_1_contents</td>
   <td></td>
 </tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSTextEditorErp5Synchronization.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSTextEditorErp5Synchronization.zpt
index 1b304b3a58..aa579a2954 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSTextEditorErp5Synchronization.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSTextEditorErp5Synchronization.zpt
@@ -29,87 +29,57 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>500</td>
+  <td>link=Storages</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
+  <td>link=Storages</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Storage Configuration']</td>
+  <td>link=Erp5</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Storage Configuration']</td>
+  <td>link=Erp5</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//form[@class='select-erp5-form']/button[@data-i18n='ERP5']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//form[@class='select-erp5-form']/button[@data-i18n='ERP5']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//form[@class='erp5-configuration-form']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>6000</td>
+  <td>name=erp5_url</td>
   <td></td>
 </tr>
 <tr>
   <td>type</td>
   <td>name=erp5_url</td>
-  <td>${base_url}/web_site_module/officejs_text_editor/</td>
+  <td>${base_url}/web_site_module/</td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//form[@class='erp5-configuration-form']//button[@data-i18n='Connect']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>//button[@data-i18n='Proceed']</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Add</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Add</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//iframe</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>5000</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
   <td>store</td>
-  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>Titre</td>
   <td>title</td>
 </tr>
 <tr>
@@ -134,7 +104,7 @@
 </tr>
 <tr>
   <td>type</td>
-  <td>name=description</td>
+  <td>identifier=description</td>
   <td>${description}</td>
 </tr>
 <tr>
@@ -142,44 +112,65 @@
   <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
+<!-- Verify Search, add another document -->
 <tr>
-  <td>pause</td>
-  <td>3000</td>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n='Add']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
+  <td>//a[@data-i18n='Add']</td>
   <td></td>
 </tr>
+<tr>
+  <td>store</td>
+  <td>search</td>
+  <td>search</td>
+</tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Document List']</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
+<tr>
+  <td>type</td>
+  <td>name=reference</td>
+  <td>${search}</td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${search}</td>
+</tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Document List']</td>
+  <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
+  <td>//div[@role='main']//div[@data-gadget-scope='erp5_searchfield']//input[@name='search']</td>
   <td></td>
 </tr>
 <tr>
   <td>type</td>
-  <td>name=search</td>
+  <td>//div[@role='main']//div[@data-gadget-scope='erp5_searchfield']//input[@name='search']</td>
   <td>${title}</td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
+  <td>//div[@role='main']//div[@data-gadget-scope='erp5_searchfield']//button[@type='submit']</td>
   <td></td>
 </tr>
-<tr>
+<tr> <!-- Poor cats ... find another way -->
   <td>pause</td>
-  <td>3000</td>
+  <td>2000</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyElementPresent</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
@@ -188,18 +179,23 @@
   <td></td>
 </tr>
 <tr>
-  <td>click</td>
-  <td>//table/tbody/tr[1]/td[1]/a</td>
+  <td>assertFailureOnNext</td>
+  <td>false</td>
   <td></td>
 </tr>
 <tr>
-  <td>waitForElementPresent</td>
-  <td>//iframe</td>
+  <td>verifyElementPresent</td>
+  <td>link=${search}</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>5000</td>
+  <td>click</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
@@ -212,39 +208,24 @@
   <td>title</td>
   <td>${title}</td>
 </tr>
-<tr>
-  <td>pause</td>
-  <td>1000</td>
-  <td></td>
-</tr>
 <tr>
   <td>verifyValue</td>
   <td>reference</td>
   <td>${reference}</td>
 </tr>
-<tr>
-  <td>assertTextPresent</td>
-  <td>${description}</td>
-  <td></td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
-  <td></td>
-</tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Storage Configuration']</td>
+  <td>identifier=description</td>
   <td></td>
 </tr>
 <tr>
-  <td>click</td>
-  <td>//a[@data-i18n='Storage Configuration']</td>
-  <td></td>
+  <td>verifyValue</td>
+  <td>description</td>
+  <td>${description}</td>
 </tr>
 <tr>
-  <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Synchronize']</td>
+  <td>click</td>
+  <td>//button[@data-i18n='Menu']</td>
   <td></td>
 </tr>
 <tr>
@@ -252,14 +233,10 @@
   <td>//a[@data-i18n='Synchronize']</td>
   <td></td>
 </tr>
-<tr>
-  <td>pause</td>
-  <td>10000</td>
-  <td></td>
-</tr>
+<!-- Wait for search fixed
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
+  <td>name=search</td>
   <td></td>
 </tr>
 <tr>
@@ -268,38 +245,38 @@
   <td>${title}</td>
 </tr>
 <tr>
-  <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n='Filter']</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>3000</td>
+  <td>click</td>
+  <td>//button[@data-i18n='Filter']</td>
   <td></td>
-</tr>
+</tr> -->
 <tr>
-  <td>assertTextPresent</td>
-  <td>${title}</td>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n='Filter']</td>
   <td></td>
 </tr>
 <tr>
-  <td>click</td>
-  <td>//table/tbody/tr[1]/td[1]/a</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
-  <td>waitForElementPresent</td>
-  <td>//iframe</td>
+  <td>assertTextPresent</td>
+  <td>${title}</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>5000</td>
+  <td>click</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
-  <td>assertTextPresent</td>
-  <td>${title}</td>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
@@ -307,20 +284,15 @@
   <td>title</td>
   <td>${title}</td>
 </tr>
-<tr>
-  <td>pause</td>
-  <td>1000</td>
-  <td></td>
-</tr>
 <tr>
   <td>verifyValue</td>
   <td>reference</td>
   <td>${reference}</td>
 </tr>
 <tr>
-  <td>assertTextPresent</td>
+  <td>verifyValue</td>
+  <td>description</td>
   <td>${description}</td>
-  <td></td>
 </tr>
 <tr>
   <td>open</td>
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSWebTableEditor.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSWebTableEditor.zpt
index d83936100b..b6001a50ac 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSWebTableEditor.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSWebTableEditor.zpt
@@ -24,41 +24,135 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/officejs_web_table_editor/</td>
+  <td>${base_url}/web_site_module/officejs_web_table_editor?ignore_layout:int=1&editable_mode:int=1</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
+  <td></td>
+</tr>
+<tr>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<!-- Generic Officejs Test -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>500</td>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
   <td></td>
 </tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>store</td>
+  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>title</td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${title}</td>
+</tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
+<!-- Stop Generic -->
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input</td>
+  <td>identifier=jquery_sheet_gadget</td>
   <td></td>
 </tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSsvgEditor.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSsvgEditor.zpt
index 6571cc08d4..e1fbf86df1 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSsvgEditor.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSsvgEditor.zpt
@@ -24,41 +24,135 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/officejs_svg_editor/</td>
+  <td>${base_url}/web_site_module/officejs_svg_editor?ignore_layout:int=1&editable_mode:int=1</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
+  <td></td>
+</tr>
+<tr>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<!-- Generic Officejs Test -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>500</td>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
   <td></td>
 </tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>store</td>
+  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>title</td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${title}</td>
+</tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
+<!-- Stop Generic -->
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input</td>
+  <td>identifier=workarea</td>
   <td></td>
 </tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentation.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentation.zpt
index de0ba8afa3..caf2cef238 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentation.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentation.zpt
@@ -24,11 +24,135 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/ooffice_presentation/development/</td>
+  <td>${base_url}/web_site_module/ooffice_presentation?ignore_layout:int=1&editable_mode:int=1</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
+  <td></td>
+</tr>
+<tr>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<!-- Generic Officejs Test -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>store</td>
+  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>title</td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${title}</td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>//button[@data-i18n='Save']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Content</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Content</td>
+  <td></td>
+</tr>
+<!-- Stop Generic -->
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=id_main</td>
   <td></td>
 </tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentationGadget.xml b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentationGadget.xml
deleted file mode 100644
index 5a120f6353..0000000000
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentationGadget.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>testOnlyfficePresentationGadget</string> </value>
-        </item>
-        <item>
-            <key> <string>output_encoding</string> </key>
-            <value> <string>utf-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <unicode></unicode> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentationGadget.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentationGadget.zpt
deleted file mode 100644
index 04b43d20d3..0000000000
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficePresentationGadget.zpt
+++ /dev/null
@@ -1,34 +0,0 @@
-<html xmlns:tal="http://xml.zope.org/namespaces/tal"
-      xmlns:metal="http://xml.zope.org/namespaces/metal">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Test OfficeJS UI</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<thead>
-<tr><td rowspan="1" colspan="3">Test OfficeJS UI</td></tr>
-</thead><tbody>
-<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
-<!-- Clean Up -->
-<tr>
-  <td>open</td>
-  <td>${base_url}/bar_module/ListBoxZuite_reset</td>
-  <td></td>
-</tr>
-<tr>
-  <td>assertTextPresent</td>
-  <td>Reset Successfully.</td>
-  <td></td>
-</tr>
-<!-- Initialize -->
-<tr>
-  <td>open</td>
-  <td>${base_url}/web_site_module/ooffice_presentation_gadget/</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//div[@class='loadmask']</td>
-  <td></td>
-</tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheet.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheet.zpt
index c3dc8615ab..7390fb22b0 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheet.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheet.zpt
@@ -24,11 +24,141 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/ooffice_spreadsheet/development/</td>
+  <td>${base_url}/web_site_module/ooffice_spreadsheet/</td>
   <td></td>
 </tr>
+<!-- Initialize -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/ooffice_text?ignore_layout:int=1&editable_mode:int=1</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
+  <td></td>
+</tr>
+<tr>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<!-- Generic Officejs Test -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>store</td>
+  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>title</td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${title}</td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>//button[@data-i18n='Save']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Content</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Content</td>
+  <td></td>
+</tr>
+<!-- Stop Generic -->
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>identifier=id_main</td>
   <td></td>
 </tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheetGadget.xml b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheetGadget.xml
deleted file mode 100644
index 7a7733c337..0000000000
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheetGadget.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>testOnlyfficeSpreadsheetGadget</string> </value>
-        </item>
-        <item>
-            <key> <string>output_encoding</string> </key>
-            <value> <string>utf-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <unicode></unicode> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheetGadget.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheetGadget.zpt
deleted file mode 100644
index 61656233de..0000000000
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeSpreadsheetGadget.zpt
+++ /dev/null
@@ -1,34 +0,0 @@
-<html xmlns:tal="http://xml.zope.org/namespaces/tal"
-      xmlns:metal="http://xml.zope.org/namespaces/metal">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Test OfficeJS UI</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<thead>
-<tr><td rowspan="1" colspan="3">Test OfficeJS UI</td></tr>
-</thead><tbody>
-<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
-<!-- Clean Up -->
-<tr>
-  <td>open</td>
-  <td>${base_url}/bar_module/ListBoxZuite_reset</td>
-  <td></td>
-</tr>
-<tr>
-  <td>assertTextPresent</td>
-  <td>Reset Successfully.</td>
-  <td></td>
-</tr>
-<!-- Initialize -->
-<tr>
-  <td>open</td>
-  <td>${base_url}/web_site_module/ooffice_spreadsheet_gadget/</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//div[@class='loadmask']</td>
-  <td></td>
-</tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeText.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeText.zpt
index 8e6884426f..16c5f0ed6b 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeText.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeText.zpt
@@ -24,11 +24,135 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/ooffice_text/development/#page=jio_configurator</td>
+  <td>${base_url}/web_site_module/ooffice_text?ignore_layout:int=1&editable_mode:int=1</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>field_my_id
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=Base_createCloneDocument:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>verifyTextPresent</td>
+  <td>Created Clone Web Site</td>
+  <td></td>
+</tr>
+<tr>
+  <td>storeValue</td>
+  <td>name=field_my_id</td>
+  <td>test_url</td>
+</tr>
+<!-- Generic Officejs Test -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/manage_main</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>name=ids:list</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=ids:list</td>
+  <td>${test_url}</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>name=manage_delObjects:method</td>
+  <td></td>
+</tr>
+<!-- Offline Test -->
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/${test_url}/</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Local is Enough</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Add</td>
+  <td></td>
+</tr>
+<tr>
+  <td>store</td>
+  <td tal:content="python: 'Test Titre %s' % DateTime()">Titre</td>
+  <td>title</td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=title</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>name=title</td>
+  <td>${title}</td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>//button[@data-i18n='Save']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=${title}</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForElementPresent</td>
+  <td>link=Content</td>
+  <td></td>
+</tr>
+<tr>
+  <td>click</td>
+  <td>link=Content</td>
+  <td></td>
+</tr>
+<!-- Stop Generic -->
+<tr>
+  <td>waitForElementPresent</td>
+  <td>identifier=id_main</td>
   <td></td>
 </tr>
\ No newline at end of file
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextErp5Synchronization.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextErp5Synchronization.zpt
index fc1fdfde71..b993a0f04d 100644
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextErp5Synchronization.zpt
+++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextErp5Synchronization.zpt
@@ -7,7 +7,7 @@
 <body>
 <table cellpadding="1" cellspacing="1" border="1">
 <thead>
-<tr><td rowspan="1" colspan="3">Test OfficeJS UI (expected failure)</td></tr>
+<tr><td rowspan="1" colspan="3">Test OfficeJS UI</td></tr>
 </thead><tbody>
 <tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
 <!-- Clean Up -->
@@ -24,32 +24,33 @@
 <!-- Initialize -->
 <tr>
   <td>open</td>
-  <td>${base_url}/web_site_module/ooffice_text/development/#page=jio_configurator</td>
+  <td>${base_url}/web_site_module/ooffice_text/</td>
   <td></td>
 </tr>
 <tr>
-  <td>waitForElementPresent</td>
-  <td>//button[@data-i18n='Local is Enough']</td>
+  <td>runScript</td>
+  <td>window.indexedDB.deleteDatabase('jio:setting')</td>
   <td></td>
 </tr>
-  <tr>
-  <td>waitForElementPresent</td>
-  <td>//form[@class='select-erp5-form']/button[@data-i18n='ERP5']</td>
+<!-- sometimes it take a bit more than 90s for install -->
+<tr>
+  <td>pause</td>
+  <td>10000</td>
   <td></td>
 </tr>
 <tr>
-  <td>click</td>
-  <td>//form[@class='select-erp5-form']/button[@data-i18n='ERP5']</td>
+  <td>waitForElementPresent</td>
+  <td>link=Erp5</td>
   <td></td>
 </tr>
 <tr>
-  <td>waitForElementPresent</td>
-  <td>//form[@class='erp5-configuration-form']</td>
+  <td>click</td>
+  <td>link=Erp5</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>6000</td>
+  <td>waitForElementPresent</td>
+  <td>name=erp5_url</td>
   <td></td>
 </tr>
 <tr>
@@ -59,42 +60,22 @@
 </tr>
 <tr>
   <td>click</td>
-  <td>//form[@class='erp5-configuration-form']//button[@data-i18n='Connect']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>name=submit</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Add']</td>
+  <td>link=Add</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Add']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>20000</td>
+  <td>link=Add</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//canvas[@id='id_target_cursor']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>click</td>
-  <td>//button[@id='id-toolbar-btn-pageorient']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>500</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
@@ -124,7 +105,7 @@
 </tr>
 <tr>
   <td>type</td>
-  <td>name=description</td>
+  <td>identifier=description</td>
   <td>${description}</td>
 </tr>
 <tr>
@@ -133,109 +114,120 @@
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>3000</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Document List']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Document List']</td>
+  <td>link=Content</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
+  <td>//canvas[@id='id_target_cursor']</td>
   <td></td>
 </tr>
 <tr>
-  <td>type</td>
-  <td>name=search</td>
-  <td>${title}</td>
+  <td>pause</td>
+  <td>1000</td>
+  <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
+  <td>//button[@id='id-toolbar-btn-pageorient']</td>
   <td></td>
 </tr>
 <tr>
   <td>pause</td>
-  <td>3000</td>
+  <td>1000</td>
   <td></td>
 </tr>
 <tr>
-  <td>assertTextPresent</td>
-  <td>${title}</td>
+  <td>click</td>
+  <td>//button[@data-i18n='Save']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//table/tbody/tr[1]/td[1]/a</td>
+  <td>link=Properties</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//iframe</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>5000</td>
+  <td>click</td>
+  <td>link=Document</td>
   <td></td>
 </tr>
+<!-- Wait for search fixed
 <tr>
-  <td>assertTextPresent</td>
-  <td>${title}</td>
+  <td>waitForElementPresent</td>
+  <td>name=search</td>
   <td></td>
 </tr>
 <tr>
-  <td>verifyValue</td>
-  <td>title</td>
+  <td>type</td>
+  <td>name=search</td>
   <td>${title}</td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>1000</td>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n='Filter']</td>
   <td></td>
 </tr>
 <tr>
-  <td>verifyValue</td>
-  <td>reference</td>
-  <td>${reference}</td>
-</tr>
+  <td>click</td>
+  <td>//button[@data-i18n='Filter']</td>
+  <td></td>
+</tr> -->
 <tr>
-  <td>assertTextPresent</td>
-  <td>${description}</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//button[@data-i18n='Menu']</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Storage Configuration']</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
-  <td>click</td>
-  <td>//a[@data-i18n='Storage Configuration']</td>
+  <td>assertTextPresent</td>
+  <td>${title}</td>
   <td></td>
 </tr>
 <tr>
-  <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Synchronize']</td>
-  <td></td>
+  <td>verifyValue</td>
+  <td>title</td>
+  <td>${title}</td>
+</tr>
+<tr>
+  <td>verifyValue</td>
+  <td>reference</td>
+  <td>${reference}</td>
+</tr>
+<tr>
+  <td>verifyValue</td>
+  <td>description</td>
+  <td>${description}</td>
 </tr>
 <tr>
   <td>click</td>
@@ -243,13 +235,14 @@
   <td></td>
 </tr>
 <tr>
-  <td>pause</td>
-  <td>10000</td>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n='Filter']</td>
   <td></td>
 </tr>
+<!-- Wait for search fixed
 <tr>
   <td>waitForElementPresent</td>
-  <td>//input[@name='search']</td>
+  <td>name=search</td>
   <td></td>
 </tr>
 <tr>
@@ -259,37 +252,22 @@
 </tr>
 <tr>
   <td>click</td>
-  <td>//input[@data-i18n='[value]header-submit']</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>3000</td>
+  <td>//button[@data-i18n='Filter']</td>
   <td></td>
-</tr>
+</tr> -->
 <tr>
-  <td>assertTextPresent</td>
-  <td>${title}</td>
+  <td>waitForElementPresent</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//table/tbody/tr[1]/td[1]/a</td>
+  <td>link=${title}</td>
   <td></td>
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//iframe</td>
-  <td></td>
-</tr>
-<tr>
-  <td>pause</td>
-  <td>5000</td>
-  <td></td>
-</tr>
-<tr>
-  <td>assertTextPresent</td>
-  <td>${title}</td>
+  <td>identifier=title</td>
   <td></td>
 </tr>
 <tr>
@@ -297,20 +275,15 @@
   <td>title</td>
   <td>${title}</td>
 </tr>
-<tr>
-  <td>pause</td>
-  <td>1000</td>
-  <td></td>
-</tr>
 <tr>
   <td>verifyValue</td>
   <td>reference</td>
   <td>${reference}</td>
 </tr>
 <tr>
-  <td>assertTextPresent</td>
+  <td>verifyValue</td>
+  <td>description</td>
   <td>${description}</td>
-  <td></td>
 </tr>
 <tr>
   <td>open</td>
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextGadget.xml b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextGadget.xml
deleted file mode 100644
index 96f6ea94c9..0000000000
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextGadget.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>testOnlyfficeTextGadget</string> </value>
-        </item>
-        <item>
-            <key> <string>output_encoding</string> </key>
-            <value> <string>utf-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <unicode></unicode> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextGadget.zpt b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextGadget.zpt
deleted file mode 100644
index cfe9769909..0000000000
--- a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOnlyfficeTextGadget.zpt
+++ /dev/null
@@ -1,34 +0,0 @@
-<html xmlns:tal="http://xml.zope.org/namespaces/tal"
-      xmlns:metal="http://xml.zope.org/namespaces/metal">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Test OfficeJS UI</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<thead>
-<tr><td rowspan="1" colspan="3">Test OfficeJS UI</td></tr>
-</thead><tbody>
-<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
-<!-- Clean Up -->
-<tr>
-  <td>open</td>
-  <td>${base_url}/bar_module/ListBoxZuite_reset</td>
-  <td></td>
-</tr>
-<tr>
-  <td>assertTextPresent</td>
-  <td>Reset Successfully.</td>
-  <td></td>
-</tr>
-<!-- Initialize -->
-<tr>
-  <td>open</td>
-  <td>${base_url}/web_site_module/ooffice_text_gadget/</td>
-  <td></td>
-</tr>
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//div[@class='loadmask']</td>
-  <td></td>
-</tr>
\ No newline at end of file
-- 
2.30.9