From f33689133f4dc9eed5511853a382de3af2c7a036 Mon Sep 17 00:00:00 2001 From: Sven Franck <sven.franck@nexedi.com> Date: Tue, 19 Dec 2017 15:46:40 +0000 Subject: [PATCH] erp5_corporate_identity: remove template zuite again as it fails in test environment --- .../testAndUpdateTestBookTemplate.xml | 58 - .../testAndUpdateTestBookTemplate.zpt | 1861 -------------- .../testAndUpdateTestLeafletTemplate.xml | 58 - .../testAndUpdateTestLeafletTemplate.zpt | 1729 ------------- .../testAndUpdateTestLetterTemplate.xml | 58 - .../testAndUpdateTestLetterTemplate.zpt | 2268 ----------------- .../testAndUpdateTestSlideTemplate.xml | 58 - .../testAndUpdateTestSlideTemplate.zpt | 2075 --------------- .../bt/template_keep_path_list | 1 - .../bt/template_path_list | 1 - 10 files changed, 8167 deletions(-) delete mode 100644 bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestBookTemplate.xml delete mode 100644 bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestBookTemplate.zpt delete mode 100644 bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLeafletTemplate.xml delete mode 100644 bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLeafletTemplate.zpt delete mode 100644 bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLetterTemplate.xml delete mode 100644 bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLetterTemplate.zpt delete mode 100644 bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestSlideTemplate.xml delete mode 100644 bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestSlideTemplate.zpt diff --git a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestBookTemplate.xml b/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestBookTemplate.xml deleted file mode 100644 index 9b2d125bdf..0000000000 --- a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestBookTemplate.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>testAndUpdateTestBookTemplate</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_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestBookTemplate.zpt b/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestBookTemplate.zpt deleted file mode 100644 index 86e033162a..0000000000 --- a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestBookTemplate.zpt +++ /dev/null @@ -1,1861 +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 and Update Test Files for BOOK Template</title> -</head> -<body> -<!-- - UPDATE comparison files for LIVE TESTS | DON'T RUN AUTOMATICALLY - (else tests will always pass...) - -This Zuite updates all test files (diff-html, pdfs, bmps) used in the LiveTests -based on the example web pages included in this bt5. Run this zuite after making -changes to the bt5 which will alter their look to automatically update all files -(else you need to do it by hand). This also means: DON'T RUN THIS AUTOMATICALLY, -because it will also update all test files with any errors you make, causing -liveTests to always pass (comparing wrong rendering to wrong test file). - -Help: -http://www.seleniumhq.org/docs/02_selenium_ide.jsp#selenium-commands-selenese -http://seleniummaster.com/sitecontent/index.php/introduction-to-selenium-automation/selenium-ide/114-selenium-ide-complete-list-of-commands - ---> - -<table cellpadding="1" cellspacing="1" border="1"> -<thead> -<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr> -</thead><tbody> -<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" /> - -<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> - -<!-- update 1st output - template_test_book_output_expected_001_en_html --> -<tr> - <td>echo</td> - <td>action => export</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>update => template_test_book_output_expected_001_en_html</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=3</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Book</td> - <td></td> -</tr> -<tr> - <td>uncheck</td> - <td>name=field_include_content_table</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>ISO 16016</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Book%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Book.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 2nd output - template_test_book_output_expected_002_en_html --> -<tr> - <td>echo</td> - <td>update => template_test_lealflet_book_expected_002_en_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- don't save once to set modification date for live tests, because this - will up revision and it's the second time this document is used, so - revision on prior tests using this web page will be off by 1 -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> ---> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=3</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Book</td> - <td></td> -</tr> -<!-- Base_callDialogMethod max 2000 chars for url_params_string fails here --> -<tr> - <td>type</td> - <td>name=field_override_logo_reference</td> - <td>Template.Test.Image.Erp5.Logo</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_history_table</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_content_table</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_reference_table</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_linked_content</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_report_content</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_description</td> - <td>foobar</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_title</td> - <td>Couscous</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_short_title</td> - <td>Cous</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_reference</td> - <td>P-XYZ-Foobar</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_organisation_title</td> - <td>Test Organisation</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_person_title</td> - <td>Test Sender</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_version</td> - <td>333</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>ISO 16016</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Book%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Book.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 3rd output - template_test_book_output_expected_003_de_html --> -<tr> - <td>echo</td> - <td>update => template_test_book_output_expected_003_de_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=3</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Book</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>ISO 16016</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Book%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Book.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> - -<!-- update 1st pdf documents - template_test_book_input_001_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_book_input_001_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=3</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Book</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>uncheck</td> - <td>name=field_include_content_table</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<tr> - <td>verifyTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't access pdf source inside iframe, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob"; xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice--> -<tr> - <td>pause</td> - <td>3000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Book-001-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_book_input_page_4_001_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_book_input_page_4_001_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=4&id=template_test_book_input_page_4_001_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- update 2nd pdf document - template_test_book_input_002_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_book_input_002_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=3</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Book</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_history_table</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_content_table</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_reference_table</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_linked_content</td> - <td></td> -</tr> -<tr> - <td>check</td> - <td>name=field_include_report_content</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_description</td> - <td>foobar</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_title</td> - <td>Couscous</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_short_title</td> - <td>Cous</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_reference</td> - <td>P-XYZ-Foobar</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_logo_reference</td> - <td>Template.Test.Image.Erp5.Logo</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_organisation_title</td> - <td>Test Organisation</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_person_title</td> - <td>Test Sender</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_document_version</td> - <td>333</td> -</tr> -<!-- update dialog fails if param-string is larger than 2000 chars (here) --> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<tr> - <td>verifyTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice--> -<tr> - <td>pause</td> - <td>9000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "P-XYZ-Foobar-333-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate images - - template_test_book_input_page_4_002_en_bmp - template_test_book_input_page_5_002_en_bmp - template_test_book_input_page_9_002_en_bmp ---> -<tr> - <td>echo</td> - <td>update => template_test_book_input_page_4_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=4&id=template_test_book_input_page_4_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=5&id=template_test_book_input_page_5_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=10&id=template_test_book_input_page_10_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- update 3rd pdf document - template_test_book_input_003_de_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_book_input_003_de_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=3</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Book</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<tr> - <td>verifyTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice--> -<tr> - <td>pause</td> - <td>3000</td> - <td></td> -</tr> - -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Book-003-de.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> - -<!-- generate image - template_test_book_input_page_1_003_de_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_book_input_page_1_003_de_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=1&id=template_test_book_input_page_1_003_de_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- make sure print exchange works --> -<tr> - <td>echo</td> - <td>action => print</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Book</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Book</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Book')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="print"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="print"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Print As Book</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=3</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Include History Table</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -</tbody></table> -</body> -</html> \ No newline at end of file diff --git a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLeafletTemplate.xml b/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLeafletTemplate.xml deleted file mode 100644 index 57340fd7d1..0000000000 --- a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLeafletTemplate.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>testAndUpdateTestLeafletTemplate</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_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLeafletTemplate.zpt b/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLeafletTemplate.zpt deleted file mode 100644 index dcc17c76ea..0000000000 --- a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLeafletTemplate.zpt +++ /dev/null @@ -1,1729 +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 and Update Test Files for LEAFLET Template</title> -</head> -<body> -<!-- - UPDATE comparison files for LIVE TESTS | DON'T RUN AUTOMATICALLY - (else tests will always pass...) - -This Zuite updates all test files (diff-html, pdfs, bmps) used in the LiveTests -based on the example web pages included in this bt5. Run this zuite after making -changes to the bt5 which will alter their look to automatically update all files -(else you need to do it by hand). This also means: DON'T RUN THIS AUTOMATICALLY, -because it will also update all test files with any errors you make, causing -liveTests to always pass (comparing wrong rendering to wrong test file). - -Help: -http://www.seleniumhq.org/docs/02_selenium_ide.jsp#selenium-commands-selenese -http://seleniummaster.com/sitecontent/index.php/introduction-to-selenium-automation/selenium-ide/114-selenium-ide-complete-list-of-commands - ---> - -<table cellpadding="1" cellspacing="1" border="1"> -<thead> -<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr> -</thead><tbody> -<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" /> - -<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> - -<!-- update 1st output - template_test_lealflet_output_expected_001_en_html --> -<tr> - <td>echo</td> - <td>action => export</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>update => template_test_lealflet_output_expected_001_en_html</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=2</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Leaflet</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>©</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Leaflet%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Leaflet.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 2nd output - template_test_leaflet_output_expected_002_en_html --> -<tr> - <td>echo</td> - <td>update => template_test_lealflet_output_expected_002_en_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=2</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Leaflet</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_organisation_title</td> - <td>Test Association</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_person_title</td> - <td>Test Recipient</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_leaflet_header_title</td> - <td>Couscous</td> -</tr> -<tr> - <td>uncheck</td> - <td>name=field_display_side</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>©</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Leaflet%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Leaflet.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 3rd output - template_test_leaflet_output_expected_003_de_html --> -<tr> - <td>echo</td> - <td>update => template_test_leaflet_output_expected_003_de_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=2</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Leaflet</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>©</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Leaflet%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Leaflet.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 1st pdf documents - template_test_leaflet_input_001_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_leaflet_input_001_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=2</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Leaflet</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<tr> - <td>verifyTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't access pdf source inside iframe, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob"; xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice, 3000 not enough--> -<tr> - <td>pause</td> - <td>6000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Leaflet-001-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_leaflet_input_page_1_001_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_leaflet_input_page_1_001_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=1&id=template_test_leaflet_input_page_1_001_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- update 2nd pdf document - template_test_leaflet_input_002_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_leaflet_input_002_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=2</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Leaflet</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_organisation_title</td> - <td>Test Association</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_person_title</td> - <td>Test Recipient</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_leaflet_header_title</td> - <td>Couscous</td> -</tr> -<tr> - <td>check</td> - <td>name=field_display_side</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<tr> - <td>verifyTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice--> -<tr> - <td>pause</td> - <td>3000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Leaflet-002-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_leaflet_input_page_0_002_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_leaflet_input_page_0_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=0&id=template_test_leaflet_input_page_0_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- update 3rd pdf document - template_test_leaflet_input_003_de_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_leaflet_input_003_de_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=2</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Leaflet</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<tr> - <td>verifyTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice--> -<tr> - <td>pause</td> - <td>3000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Leaflet-003-de.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_leaflet_input_page_0_003_de_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_leaflet_input_page_0_003_de_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=0&id=template_test_leaflet_input_page_0_003_de_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- make sure print exchange works --> -<tr> - <td>echo</td> - <td>action => print</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Leaflet</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Leaflet</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Leaflet')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="print"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="print"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Print As Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=2</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Display Side Panel</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -</tbody></table> -</body> -</html> \ No newline at end of file diff --git a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLetterTemplate.xml b/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLetterTemplate.xml deleted file mode 100644 index cdbe48c78d..0000000000 --- a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLetterTemplate.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>testAndUpdateTestLetterTemplate</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_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLetterTemplate.zpt b/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLetterTemplate.zpt deleted file mode 100644 index ac26f19497..0000000000 --- a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestLetterTemplate.zpt +++ /dev/null @@ -1,2268 +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 and Update Test Files for LETTER Template</title> -</head> -<body> -<!-- - UPDATE comparison files for LIVE TESTS | DON'T RUN AUTOMATICALLY - (else tests will always pass...) - -This Zuite updates all test files (diff-html, pdfs, bmps) used in the LiveTests -based on the example web pages included in this bt5. Run this zuite after making -changes to the bt5 which will alter their look to automatically update all files -(else you need to do it by hand). This also means: DON'T RUN THIS AUTOMATICALLY, -because it will also update all test files with any errors you make, causing -liveTests to always pass (comparing wrong rendering to wrong test file). - -Help: -http://www.seleniumhq.org/docs/02_selenium_ide.jsp#selenium-commands-selenese -http://seleniummaster.com/sitecontent/index.php/introduction-to-selenium-automation/selenium-ide/114-selenium-ide-complete-list-of-commands - ---> - -<table cellpadding="1" cellspacing="1" border="1"> -<thead> -<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr> -</thead><tbody> -<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" /> - -<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> - -<!-- update 1st output - template_test_letter_output_expected_001_en_html --> -<tr> - <td>echo</td> - <td>action => export</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>update => template_test_letter_output_expected_001_en_html</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Letter</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//span[contains(text(), 'IBAN')]</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Letter%</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Letter.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 2nd output - template_test_letter_output_expected_002_en_html --> -<tr> - <td>echo</td> - <td>update => template_test_letter_output_expected_002_en_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Letter</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//span[contains(text(), 'IBAN')]</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Letter%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Letter.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 3rd output - template_test_letter_output_expected_003_en_html --> -<tr> - <td>echo</td> - <td>update => template_test_letter_output_expected_003_en_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Letter</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_organisation_title</td> - <td>Test Association</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_person_title</td> - <td>Test Association Member</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_destination_organisation_title</td> - <td>Test Association</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_destination_person_title</td> - <td>Test Association Member</td> -</tr> -<tr> - <td>type</td> - <td>name=subfield_field_override_date_year</td> - <td>1999</td> -</tr> -<tr> - <td>type</td> - <td>name=subfield_field_override_date_month</td> - <td>12</td> -</tr> -<tr> - <td>type</td> - <td>subfield_field_override_date_day</td> - <td>31</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//span[contains(text(), 'IBAN')]</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Letter%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Letter.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 4th output - template_test_letter_output_expected_004_de_html --> -<tr> - <td>echo</td> - <td>update => template_test_letter_output_expected_004_de_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>004</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- Save once to set modification date for live tests --> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Letter</td> - <td></td> -</tr> -<tr> - <td>uncheck</td> - <td>name=field_display_head</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementNotPresent</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//span[contains(text(), 'IBAN')]</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Letter%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>004</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Letter.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 1st pdf documents - template_test_letter_input_001_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_letter_input_001_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Letter</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't access pdf source inside iframe, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob"; xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice, 3000 not enough --> -<tr> - <td>pause</td> - <td>6000</td> - <td></td> -</tr> - -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Letter-001-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_slideshow_input_slide_0_001_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_slide_0_001_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=0&id=template_test_letter_input_page_0_001_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- update 2nd pdf document - template_test_letter_input_002_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_letter_input_002_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Letter</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice, 3000 not enough--> -<tr> - <td>pause</td> - <td>6000</td> - <td></td> -</tr> - -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Letter-002-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_letter_input_page_0_002_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_letter_input_page_0_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=0&id=template_test_letter_input_page_0_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- update 3rd pdf document - template_test_letter_input_003_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_letter_input_003_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Letter</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_organisation_title</td> - <td>Test Association</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_person_title</td> - <td>Test Association Member</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_destination_organisation_title</td> - <td>Test Association</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_destination_person_title</td> - <td>Test Association Member</td> -</tr> -<tr> - <td>type</td> - <td>name=subfield_field_override_date_year</td> - <td>1999</td> -</tr> -<tr> - <td>type</td> - <td>name=subfield_field_override_date_month</td> - <td>12</td> -</tr> -<tr> - <td>type</td> - <td>subfield_field_override_date_day</td> - <td>31</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice, 3000 not enough--> -<tr> - <td>pause</td> - <td>6000</td> - <td></td> -</tr> - -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Letter-003-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_letter_input_page_0_003_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_letter_input_page_0_003_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?shot?frame=0&id=template_test_letter_input_page_0_003_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> - -<!-- update 4th pdf document - template_test_slideshow_input_004_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_004_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>004</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Letter</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>uncheck</td> - <td>name=field_display_head</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> - -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice, not 3000--> -<tr> - <td>pause</td> - <td>6000</td> - <td></td> -</tr> - -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>004</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Letter-004-de.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_letter_input_page_1_004_de_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_letter_input_page_1_004_de_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=1&id=template_test_letter_input_page_1_004_de_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- make sure print exchange works --> -<tr> - <td>echo</td> - <td>action => print</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Letter</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Letter</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Letter')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="print"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="print"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Print As Slideshow</td> - <td></td> -</tr> -<tr> - <td>selectAndWait</td> - <td>name=select_dialog</td> - <td>index=1</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Display Letter Head</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -</tbody></table> -</body> -</html> \ No newline at end of file diff --git a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestSlideTemplate.xml b/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestSlideTemplate.xml deleted file mode 100644 index 30cc112653..0000000000 --- a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestSlideTemplate.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>testAndUpdateTestSlideTemplate</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_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestSlideTemplate.zpt b/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestSlideTemplate.zpt deleted file mode 100644 index e22429e8f3..0000000000 --- a/bt5/erp5_corporate_identity/PathTemplateItem/portal_tests/template_zuite/testAndUpdateTestSlideTemplate.zpt +++ /dev/null @@ -1,2075 +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 and Update Test Files for SLIDE Template</title> -</head> -<body> -<!-- - UPDATE comparison files for LIVE TESTS | DON'T RUN AUTOMATICALLY - (else tests will always pass...) - -This Zuite updates all test files (diff-html, pdfs, bmp) used in the LiveTests -based on the example web pages included in this bt5. Run this zuite after making -changes to the bt5 which will alter their look to automatically update all files -(else you need to do it by hand). This also means: DON'T RUN THIS AUTOMATICALLY, -because it will also update all test files with any berrors you make, causing -liveTests to always pass (comparing wrong rendering to wrong test file). - -Help: -http://www.seleniumhq.org/docs/02_selenium_ide.jsp#selenium-commands-selenese -http://seleniummaster.com/sitecontent/index.php/introduction-to-selenium-automation/selenium-ide/114-selenium-ide-complete-list-of-commands - -Note: -uses pause to wait for Cloudooo pdf rendering ---> - -<table cellpadding="1" cellspacing="1" border="1"> -<thead> -<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr> -</thead><tbody> -<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" /> - -<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> - -<!-- update 1st output - template_test_slideshow_output_expected_001_en_html --> -<tr> - <td>echo</td> - <td>action => export</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_output_expected_001_en_html</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//section[@class="ci-slideshow-intro present"]</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});}; ajax(storedVars["url"].split("#")[0] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Slide%</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Slideshow.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 2nd output - template_test_slideshow_output_expected_002_en_html --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_output_expected_002_en_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_logo_reference</td> - <td>Template.Test.Image.Logo.Alternativ</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_organisation_title</td> - <td>Foobarbazbam</td> -</tr> -<tr> - <td>click</td> - <td>//input[@value="svg"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<tr> - <td>verifyValue</td> - <td>name=field_display_svg</td> - <td>on</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//section[@class="ci-slideshow-intro present"]</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"].split("#")[0] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Slide%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Slideshow.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 3rd output - template_test_slideshow_output_expected_003_en_html --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_output_expected_003_en_html</td> - <td></td> -</tr> -<tr> - <td>verifyTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//section[@class="ci-slideshow-intro present"]</td> - <td></td> -</tr> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch iframe source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) {var xhr = new XMLHttpRequest();return new Promise(function(resolve, reject) {var k;xhr.open("GET", url, true);xhr.addEventListener("load", function(e) {if (e.target.status >= 400) {return reject(e);}resolve(e);});xhr.addEventListener("error", reject);xhr.send();}, function() {xhr.abort();});};ajax(storedVars["url"].split("#")[0] + "&batch_mode=True");</td> - <td>page_source</td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Web Pages')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>%Template% AND %Output% AND %Slide%</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_reference</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template.Test.Slideshow.Expected.Output.Sample</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow.Expected.Output.Sample')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a/span[contains(text(), 'Edit')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["page_source"].then(function (evt) {var content = evt.target.response || evt.target.responseText;document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter = content;})</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_parameter;</td> - <td>dump</td> -</tr> -<tr> - <td>type</td> - <td>//textarea[@name="field_my_text_content"]</td> - <td>${dump}</td> -</tr> -<tr> - <td>verifyElementPresent</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//button[@class="save"]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>assertTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- update 1st pdf documents - template_test_slideshow_input_001_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_001_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't access pdf source inside iframe, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob"; xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"].split("#")[0] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice--> -<tr> - <td>pause</td> - <td>3000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Slideshow-001-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_slideshow_input_slide_0_001_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_slide_0_001_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=0&id=template_test_slideshow_input_slide_0_001_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> - -<!-- update 2nd pdf document - template_test_slideshow_input_004_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_004_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>check</td> - <td>name=field_display_note</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"].split("#")[0] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice--> -<tr> - <td>pause</td> - <td>3000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>004</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Slideshow-004-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_slideshow_input_slide_13_004_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_slide_13_004_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=13&id=template_test_slideshow_input_slide_13_004_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> - -<!-- update 3rd pdf document - template_test_slideshow_input_002_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_002_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"].split("#")[0] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice--> -<tr> - <td>pause</td> - <td>3000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Slideshow-002-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_slideshow_input_slide_0_002_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_slide_0_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?shot?frame=0&id=template_test_slideshow_input_slide_0_002_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> - -<!-- update 4th pdf document - template_test_slideshow_input_003_en_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_003_en_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>002</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_logo_reference</td> - <td>Template.Test.Image.Erp5.Logo</td> -</tr> -<tr> - <td>type</td> - <td>name=field_override_source_organisation_title</td> - <td>Couscous</td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> - -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"].split("#")[0] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice, 3000 not long enough --> -<tr> - <td>pause</td> - <td>6000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template.Test.Slideshow-003-en.pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_slideshow_input_slide_0_003_en_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_slide_0_003_en_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=0&id=template_test_slideshow_input_slide_0_003_en_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> - - -<!-- update 5th pdf document - template_test_slideshow_input_005_de_pdf --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_005_de_pdf</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>003</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="import_export"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Export Slideshow</td> - <td></td> -</tr> -<tr> - <td>select</td> - <td>name=field_format</td> - <td>index=1</td> -</tr> -<tr> - <td>check</td> - <td>name=field_display_note</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_callDialogMethod:method</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<!-- PDF viewer has no document.title, wait for "" means pdf is loaded --> -<tr> - <td>waitForTitle</td> - <td></td> - <td></td> -</tr> -<!-- Store this location for re-requesting --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<tr> - <td>echo</td> - <td>${url}</td> - <td></td> -</tr> -<!-- Can't fetch pdf source, so request page again --> -<tr> - <td>storeEval</td> - <td>function ajax(url) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("GET", url, true); xhr.responseType = "blob", xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); xhr.send(); }, function() { xhr.abort(); }); }; ajax(storedVars["url"].split("#")[0] + "&batch_mode=True");</td> - <td>pdf_source</td> -</tr> -<!-- pause to let the ajax request finish. now if the table was a async, queue - that would be nice, 3000 not long enough--> -<tr> - <td>pause</td> - <td>6000</td> - <td></td> -</tr> -<tr> - <td>goBackAndWait</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Web Pages</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'ERP5')]</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Documents')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>005</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<!-- manual form submit --> -<tr> - <td>storeLocation</td> - <td>url</td> - <td></td> -</tr> -<!-- only handle pdf_source (a promise!) here, because it needs to be set on - the iframe and a page-reload resets all (bad) parameters manually set --> -<tr> - <td>storeEval</td> - <td>storedVars["pdf_source"].then(function (evt) {document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter = new Blob([evt.target.response || evt.target.responseText], {"type": evt.target.getResponseHeader("Content-Type")});});</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>document.getElementById("selenium_myiframe").contentDocument.body.bad_pdf_parameter</td> - <td>pdf_dump</td> -</tr> -<tr> - <td>echo</td> - <td>${pdf_dump}</td> - <td></td> -</tr> -<tr> - <td>verifyNotExpression</td> - <td>${pdf_dump}</td> - <td>null</td> -</tr> -<tr> - <td>storeEval</td> - <td>function ajax(url, param) { var xhr = new XMLHttpRequest(); return new Promise(function(resolve, reject) { var k; xhr.open("POST", url, true); xhr.responseType = param.dataType || ""; if (typeof param.headers === 'object' && param.headers !== null) { for (k in param.headers) { if (param.headers.hasOwnProperty(k)) { xhr.setRequestHeader(k, param.headers[k]); } } } xhr.addEventListener("load", function(e) { if (e.target.status >= 400) { return reject(e); } resolve(e); }); xhr.addEventListener("error", reject); if (typeof param.xhrFields === 'object' && param.xhrFields !== null) { for (k in param.xhrFields) { if (param.xhrFields.hasOwnProperty(k)) { xhr[k] = param.xhrFields[k]; } } } xhr.send(param.data); }, function() { xhr.abort(); }); } var form_data = new FormData(); form_data.append("field_my_file", storedVars["pdf_dump"], "Template_test_slideshow_005_de_pdf"); form_data.append("form_id", "File_view"); x = ajax(storedVars["url"].split("?")[0] + "/Base_edit", {"xhrFields": {"with_credentials": true}, "data": form_data});</td> - <td>promise</td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["promise"].then(function () {document.getElementById("selenium_myiframe").src=storedVars["url"].split("?")[0]+"/File_view?portal_status_message=Data%20updated."});</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Data updated.</td> - <td></td> -</tr> -<!-- generate image - template_test_slideshow_input_slide_8_005_de_bmp --> -<tr> - <td>echo</td> - <td>update => template_test_slideshow_input_slide_8_005_de_bmp</td> - <td></td> -</tr> -<tr> - <td>storeEval</td> - <td>storedVars["url"].split("?")[0]</td> - <td>screenshot_url</td> -</tr> -<tr> - <td>echo</td> - <td>${screenshot_url}</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${screenshot_url}/Document_createScreenshot?frame=8&id=template_test_slideshow_input_slide_8_005_de_bmp</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Screenshot updated.</td> - <td></td> -</tr> -<!-- make sure print exchange works --> -<tr> - <td>echo</td> - <td>print dialog</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//button[@class="print"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//button[@class="print"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Print As Slideshow</td> - <td></td> -</tr> -<tr> - <td>clickAndWait</td> - <td>name=Base_showUpdateDialog:method</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//div[@class="transition_message"]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Preview updated.</td> - <td></td> -</tr> -<!-- make sure action slideshow view works --> -<tr> - <td>echo</td> - <td>print dialog</td> - <td></td> -</tr> -<tr> - <td>open</td> - <td>${base_url}/web_page_module/</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>records</td> - <td></td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_reference</td> - <td>Template.Test.Slideshow</td> -</tr> -<tr> - <td>type</td> - <td>name=listbox_version</td> - <td>001</td> -</tr> -<tr> - <td>keyPressAndWait</td> - <td>listbox_version</td> - <td>\13</td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Template Test Slideshow</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//a[contains(text(), 'Template.Test.Slideshow')]</td> - <td></td> -</tr> -<tr> - <td>waitForTextPresent</td> - <td>Short Title</td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//img[@title="View As Slideshow"]</td> - <td></td> -</tr> -<tr> - <td>click</td> - <td>//img[@title="View As Slideshow"]</td> - <td></td> -</tr> -<tr> - <td>waitForPageToLoad</td> - <td></td> - <td></td> -</tr> -<tr> - <td>waitForElementPresent</td> - <td>//section[@class="ci-slideshow-intro present"]</td> - <td></td> -</tr> -</tbody></table> -</body> -</html> \ No newline at end of file diff --git a/bt5/erp5_corporate_identity/bt/template_keep_path_list b/bt5/erp5_corporate_identity/bt/template_keep_path_list index 3cefd12192..36ab1dc6aa 100644 --- a/bt5/erp5_corporate_identity/bt/template_keep_path_list +++ b/bt5/erp5_corporate_identity/bt/template_keep_path_list @@ -6,5 +6,4 @@ organisation_module/template_test*/default** person_module/template_test* person_module/template_test*/default** portal_preferences/default_site_preference/template_* -portal_tests/template_zuite/testAndUpdateTest* web_page_module/template_test_* \ No newline at end of file diff --git a/bt5/erp5_corporate_identity/bt/template_path_list b/bt5/erp5_corporate_identity/bt/template_path_list index 3cefd12192..36ab1dc6aa 100644 --- a/bt5/erp5_corporate_identity/bt/template_path_list +++ b/bt5/erp5_corporate_identity/bt/template_path_list @@ -6,5 +6,4 @@ organisation_module/template_test*/default** person_module/template_test* person_module/template_test*/default** portal_preferences/default_site_preference/template_* -portal_tests/template_zuite/testAndUpdateTest* web_page_module/template_test_* \ No newline at end of file -- 2.30.9