""" % (url , e)
raise IOError(e)
def editZPT(zpt, text):
zpt.pt_edit(text, 'text/html')
"""
Add the test at the end of the webpage (overwrite the current test if there's already one) and hide it
"""
def appendTestToWebPage(text, test_text):
import lxml.html
root = lxml.html.fromstring(text)
test_root = lxml.html.fromstring(test_text)
test_root = test_root.xpath('//table')[0]
tutorial_test = lxml.html.fromstring('
')
tutorial_test.tag = test_root.tag
for att in test_root.attrib.keys():
tutorial_test.attrib[att] = test_root.attrib[att]
tutorial_test.append(test_root[1])
hidden_list = [tutorial_test] + tutorial_test.xpath('//span')
for element in hidden_list:
element.attrib['style']='display:none;'
table_list = root.xpath('//table[@id="SELENIUM-TEST"]')
if(len(table_list) == 0):
root.append(tutorial_test)
else:
root.replace(table_list[0], tutorial_test)
return lxml.html.tostring(root).replace('\n','').replace("\'","'")
MailHostUtils.py 0000664 0000000 0000000 00000003235 12015425354 0037262 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/ExtensionTemplateItem ##############################################################################
#
# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
# Rafael Monnerat
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from Products.ERP5Type.tests.utils import DummyMailHost
def setupDummyMailHost(self):
portal = self.getPortalObject()
# Replace MailHost by DummyMailHost
if 'MailHost' in portal.objectIds():
portal.manage_delObjects(['MailHost'])
portal._setObject('MailHost', DummyMailHost('MailHost'))
return True
SeleniumTestUtils.py 0000664 0000000 0000000 00000003163 12015425354 0040163 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/ExtensionTemplateItem # -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
# Ivan Tyagov
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import os
from Products.ERP5 import tests
def Zuite_getTestDocumentsHome(self):
"""
Get test documents folder as string.
"""
return os.path.join(
os.path.abspath(
os.path.dirname(tests.__file__)),'test_data')
SkinTemplateItem/ 0000775 0000000 0000000 00000000000 12015425354 0033074 5 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core portal_skins/ 0000775 0000000 0000000 00000000000 12015425354 0035604 5 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem erp5_ui_test_core.xml 0000664 0000000 0000000 00000001211 12015425354 0041740 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins
_objectsiderp5_ui_test_coretitle
erp5_ui_test_core/ 0000775 0000000 0000000 00000000000 12015425354 0041223 5 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins Base_clearCache.xml 0000664 0000000 0000000 00000004705 12015425354 0044717 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body"""User the cache tool in order to clear the cache"""\n
context.portal_caches.clearAllCache()\n
return "Cleared."\n
_paramsidBase_clearCache
ERP5Site_setupDummyMailHost.xml 0000664 0000000 0000000 00000001506 12015425354 0047204 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
_functionsetupDummyMailHost_moduleMailHostUtilsidERP5Site_setupDummyMailHosttitle
ErrorLog_reportErrorList.xml 0000664 0000000 0000000 00000005222 12015425354 0046742 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodyfor error_entry in context.error_log.getLogEntries():\n
for key in error_entry:\n
if key not in ["tb_text", "tb_html", \'req_html\']:\n
print \'%s : %s\' % (key, error_entry[key])\n
print \'------------- Traceback ------------\'\n
print error_entry["tb_text"]\n
print "="*79\n
return printed\n
_paramsidErrorLog_reportErrorList
MailHost_reportMessageList.xml 0000664 0000000 0000000 00000005623 12015425354 0047227 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body"""\n
Get the Message List from DummyMailHost.\n
\n
This is used by functional tests to get all\n
emails sent by the instance. This will prevent \n
the instance spam mailing lists during the \n
Functional Tests.\n
"""\n
if getattr(context.MailHost, "getMessageList", None) is None:\n
return "ERROR: MailHost is not a DummyMailHost"\n
\n
message_list = context.MailHost.getMessageList()\n
for mail in message_list:\n
for part in mail:\n
print part\n
print "="*79\n
print "" \n
\n
print "Total messages: %s" %len(message_list)\n
return printed\n
_paramsidMailHost_reportMessageList
TestTool_cleanUpTestResults.xml 0000664 0000000 0000000 00000005756 12015425354 0047430 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodyportal_tests = container.portal_tests\n
if test_zuite_relative_url is not None:\n
# we care for a specific test zuite\n
portal_tests = portal_tests.restrictedTraverse(test_zuite_relative_url,\\\n
portal_tests)\n
# remove test results from previous test runs\n
portal_tests.manage_delObjects([x.getId() \\\n
for x in portal_tests.objectValues(\'Zuite Results\')])\n
print "OK"\n
return printed\n
_paramstest_zuite_relative_url=NoneidTestTool_cleanUpTestResultstitleClean up test results from previous test runs
TestTool_getLatestReportId.xml 0000664 0000000 0000000 00000005440 12015425354 0047212 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodyportal_tests = container.portal_tests\n
if test_zuite_relative_url is not None:\n
# we care for a specific test zuite\n
portal_tests = portal_tests.restrictedTraverse(test_zuite_relative_url,\n
portal_tests)\n
\n
results = portal_tests.objectValues(\'Zuite Results\')\n
#results.sort()\n
\n
if not results:\n
return None\n
\n
return results[len(results) - 1].getId()\n
_paramstest_zuite_relative_url=NoneidTestTool_getLatestReportId
TestTool_getResults.xml 0000664 0000000 0000000 00000006216 12015425354 0045750 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodytestTable.%s\' % (idx + 1), \'>%s\' % test_case[\'path\'])\n
\n
return html\n
]]>_paramstest_zuite_relative_url=NoneidTestTool_getResults
TestTool_getSkinName.xml 0000664 0000000 0000000 00000004762 12015425354 0046020 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodyportal = context.getPortalObject()\n
return portal.getSkinNameFromRequest(context.REQUEST) or \\\n
portal.portal_skins.getDefaultSkin()\n
_paramsskin_name=\'\'idTestTool_getSkinName
TestTool_reportResult.xml 0000664 0000000 0000000 00000007540 12015425354 0046322 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body\', i) + 1\n
end = html.index(\'<\', start)\n
title = html[start:end]\n
\n
# Count passes and failures.\n
num_passed_commands = html.count(\'bgcolor="#cfffcf"\', end)\n
num_failed_commands = html.count(\'bgcolor="#ffcfcf"\', end)\n
result.append(\'%s: %d passed, %d failed\' % (title, num_passed_commands, num_failed_commands))\n
\n
return \'\\n\'.join(result)\n
]]>_paramsrequestidTestTool_reportResult
TestTool_setSkinNameCookie.xml 0000664 0000000 0000000 00000005103 12015425354 0047154 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodyif skin_name:\n
context.REQUEST.RESPONSE.setCookie(\'portal_skin\', skin_name)\n
else:\n
context.REQUEST.RESPONSE.expireCookie(\'portal_skin\')\n
return context.REQUEST.RESPONSE.redirect(context.absolute_url())\n
_paramsskin_name=\'\'idTestTool_setSkinNameCookie
Zuite_CommonTemplate.xml 0000664 0000000 0000000 00000006736 12015425354 0046065 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
_bind_names_local_propertiesiddescriptiontypetext_text\n
\n
\n
store
\n
http://example.com/erp5
\n
base_url
\n
\n
\n
\n
\n
\n
\n
openAndWait
\n
${base_url}/Zuite_waitForActivities
\n
\n
\n
\n
verifyTextPresent
\n
Done.
\n
\n
\n
\n
\n
\n
]]>content_typetext/htmldescriptionCommon Template for PTZuite, it will reuse parts of the Listbox Zuiteexpand0idZuite_CommonTemplateoutput_encodingutf-8titleCommon Template for All Zuite
Zuite_addTest.xml 0000664 0000000 0000000 00000006047 12015425354 0044524 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body_paramstest_id, title, textidZuite_addTest
Zuite_addZuite.xml 0000664 0000000 0000000 00000005274 12015425354 0044706 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body"""\n
Create a zuite or return an existing one after remove his contents.\n
"""\n
if zuite_id not in context.objectIds():\n
factory = context.portal_tests.manage_addProduct[\'Zelenium\']\n
factory.manage_addZuite(id=zuite_id)\n
\n
zuite = getattr(context.portal_tests, zuite_id, None)\n
zuite.manage_delObjects(zuite.objectIds())\n
\n
return zuite\n
_paramszuite_ididZuite_addZuite
Zuite_createAndLaunchSeleniumTest.xml 0000664 0000000 0000000 00000006133 12015425354 0050513 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body_paramstest_list, zuite_id_proxy_rolesManageridZuite_createAndLaunchSeleniumTesttitleDisplay Selenium Test
Zuite_editZPT.xml 0000664 0000000 0000000 00000001473 12015425354 0044455 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
_functioneditZPT_moduleERP5ZuiteidZuite_editZPTtitleEdit Page Template
Zuite_generateFilename.xml 0000664 0000000 0000000 00000006214 12015425354 0046363 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodyrequest = context.REQUEST\n
now = DateTime()\n
expire_timeout_days = 1\n
session_id = request.get(\'session_id\', None)\n
if session_id is None or not session_id.startswith("erp5zuite"):\n
## first call so generate session_id and send back via cookie\n
session_id = \'erp5zuite_\' + context.REQUEST.other[\'AUTHENTICATED_USER\'].getUserName()\n
request.RESPONSE.setCookie(\'erp5_session_id\', session_id, expires=(now +expire_timeout_days).fCommon(), path=\'/\')\n
\n
session = context.portal_sessions[session_id]\n
if not session.has_key(\'tempfolder\') or session[\'tempfolder\'] == \'\':\n
session[\'tempfolder\'] = context.Zuite_createTempFolder() + \'/\'\n
\n
return session[\'tempfolder\'] + str(context.portal_ids.generateNewId(id_generator=\'zuite\', id_group=context.getId(), default=1)) + \'.png\'\n
_paramsidZuite_generateFilename
Zuite_getFilenameLocation.xml 0000664 0000000 0000000 00000005251 12015425354 0047041 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodytest_documents_home = context.Zuite_getTestDocumentsHome()\n
return \'%s/%s\' %(test_documents_home, filename)\n
_paramsfilename_proxy_rolesManageridZuite_getFilenameLocation
Zuite_getObjectUid.xml 0000664 0000000 0000000 00000004671 12015425354 0045505 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body"""\n
Get object\'s uid.\n
"""\n
return context.portal_catalog.getResultValue(**kw).getUid()\n
_params**kwidZuite_getObjectUid
Zuite_getTestDocumentsHome.xml 0000664 0000000 0000000 00000001521 12015425354 0047236 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
_functionZuite_getTestDocumentsHome_moduleSeleniumTestUtilsidZuite_getTestDocumentsHometitle
Zuite_runSeleniumTest.xml 0000664 0000000 0000000 00000006404 12015425354 0046277 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body"""\n
Generate a Zuite (if necessary), create/update the test and redirect to the selenium test created/updated\n
url, web_page or web_page_reference must be set for it to work (or the context should be the Web Page in question)\n
"""\n
test_list = []\n
count = 0\n
for url in url_list:\n
count += 1\n
test_list.append((context.Zuite_urlRead(url, safe_return=1), \'%s %s\' % (count, url)),)\n
\n
return context.Zuite_createAndLaunchSeleniumTest(test_list=test_list,\n
zuite_id=zuite_id)\n
_paramsurl_list, zuite_id=\'tutorial_zuite\'_proxy_rolesManageridZuite_runSeleniumTesttitleDisplay Selenium Test
Zuite_setPreference.xml 0000664 0000000 0000000 00000007626 12015425354 0045732 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body"""Set subversion working copy list and enable preference.\n
\n
This script is called by Products.ERP5Type.tests.runFunctionalTest to set\n
subversion working copy paths and conversion server address.\n
It\'s not meant to be called by zelenium tests directly.\n
"""\n
\n
pref = getattr(context.portal_preferences, "erp5_ui_test_preference", None)\n
if pref is None:\n
pref = context.portal_preferences.newContent(id="erp5_ui_test_preference",\n
portal_type="Preference",\n
priority=1)\n
\n
pref.setPreferredSubversionWorkingCopyList(tuple(working_copy_list.split(\',\')))\n
pref.setPreferredHtmlStyleUnsavedFormWarning(False)\n
\n
if pref.getPreferenceState() == \'disabled\':\n
pref.enable()\n
\n
pref = getattr(context.portal_preferences, "erp5_ui_test_system_preference", None)\n
if pref is None:\n
pref = context.portal_preferences.newContent(id="erp5_ui_test_system_preference",\n
portal_type="System Preference",\n
priority=1)\n
\n
pref.setPreferredOoodocServerAddress(conversion_server_hostname)\n
pref.setPreferredOoodocServerPortNumber(conversion_server_port)\n
\n
if pref.getPreferenceState() == \'disabled\':\n
pref.enable()\n
\n
return \'Set Preference Successfully.\'\n
_paramsworking_copy_list, conversion_server_hostname, conversion_server_portidZuite_setPreferencetitleSet Test Runner Preferences
Zuite_updateImage.xml 0000664 0000000 0000000 00000001502 12015425354 0045350 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
_functionUpdateImage_moduleERP5ZuiteidZuite_updateImagetitleZuite_updateImage
Zuite_uploadScreenshot.xml 0000664 0000000 0000000 00000006670 12015425354 0046460 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body"""\n
Upload a screenshot taken by the test to ERP5\n
"""\n
from Products.ERP5Type.Log import log\n
\n
data_uri = context.REQUEST.form.get(\'data_uri\', \'default\')\n
\n
image_module = getattr(context, "image_module", None)\n
if image_module is None:\n
return "erp5_dms is not Installed"\n
\n
image = image_module.getPortalObject().WebSection_getDocumentValue(\n
name=image_reference)\n
\n
if image is None or image.getPortalType() != "Image":\n
# Image is an embedded file or not an image\n
return "Image: " + str(image_reference) + " not found"\n
\n
image.setContentType(\'image/png\')\n
data_text = data_uri.read()\n
data = data_text.decode(\'base64\')\n
\n
image.edit(data=data,\n
filename=str(image_reference) + \'.png\', \n
content_type = \'image/png\')\n
\n
context.Zuite_updateImage(image)\n
_paramsdata_uri, image_reference_proxy_rolesManageridZuite_uploadScreenshot
Zuite_urlRead.xml 0000664 0000000 0000000 00000001477 12015425354 0044534 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
_functionurlread_moduleERP5ZuiteidZuite_urlReadtitleFetch content from Url
Zuite_viewZeleniumTestLauncher.xml 0000664 0000000 0000000 00000011327 12015425354 0050136 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
_bind_names_objectsactionZuite_runSeleniumTestdescriptionedit_orderencodingUTF-8enctypegroup_listleftrightcenterbottomhiddengroupsbottomcenteryour_descriptionyour_url_listyour_zuite_idhiddenleftrightidZuite_viewZeleniumTestLaunchermethodPOSTnameZuite_runZeleniumTestviewptform_dialogrow_length4stored_encodingUTF-8titleRun Zelenium Testunicode_mode0update_actionupdate_action_title
Zuite_viewZeleniumTestLauncher/ 0000775 0000000 0000000 00000000000 12015425354 0047410 5 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core Zuite_viewZeleniumTestLauncher/your_description.xml 0000664 0000000 0000000 00000023653 12015425354 0053544 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
idyour_descriptionmessage_valuesexternal_validator_failedThe input failed the external validator.required_not_foundInput is required but no input given.too_longToo much input was given.overridesalternate_namecss_classdefaultdescriptiondisplay_maxwidthdisplay_widtheditableenabledexternal_validatorextrahiddenmax_lengthrequiredtitletruncateunicodewhitespace_preservetalesalternate_namecss_classdefaultdescriptiondisplay_maxwidthdisplay_widtheditableenabledexternal_validatorextrahiddenmax_lengthrequiredtitletruncateunicodewhitespace_preservevaluesalternate_namecss_classnoLabeldefaultInclude a URL for a HTML that contains a Selenium Test Code, in case of Test Page use TestPage_getSeleniumTest at the end of URL.descriptiondisplay_maxwidthdisplay_width20editable0enabled1external_validatorextrahidden0max_lengthrequired0titleInformationtruncate0unicode0whitespace_preserve0
Zuite_viewZeleniumTestLauncher/your_url_list.xml 0000664 0000000 0000000 00000010320 12015425354 0053041 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
delegated_listdescriptionheighttitlewidthdelegated_message_listexternal_validator_failedidyour_url_listmessage_valuesexternal_validator_failedInput at least one and only ONE of those three fields.overridesfield_idform_idtargettalesfield_idform_idtargetvaluesdescriptionType the url of the page containing the Zelenium Test. (for external webpages only)display_width120field_idmy_lines_fieldform_idBase_viewFieldLibraryheight10targetClick to edit the targettitleExternal Urlswidth90
Zuite_viewZeleniumTestLauncher/your_zuite_id.xml 0000664 0000000 0000000 00000010403 12015425354 0053022 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
delegated_listdefaultdescriptionrequiredtitleidyour_zuite_idmessage_valuesexternal_validator_failedThe input failed the external validator.overridesfield_idform_idtargettalesdefaultdescriptionfield_idform_idtargettitlevaluesdefaulttutorial_zuitedescriptionEnter the id of the Zuite containing your test.field_idmy_string_fieldform_idBase_viewFieldLibraryrequired1targetClick to edit the targettitleZuite ID
Zuite_viewZeleniumTestLauncherValidator.xml 0000664 0000000 0000000 00000007754 12015425354 0052015 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_bodyweb_page_context = context.getPortalType() in [\'Test Page\', \'Web Page\']\n
\n
if web_page_context:\n
no_web_page = False\n
form_id = \'view\'\n
else:\n
no_web_page = not request.has_key(\'web_page\') or request[\'web_page\'] is None or not request[\'web_page\']\n
form_id = \'Zuite_viewZeleniumTestLauncher\'\n
\n
no_reference = not request.has_key(\'web_page_reference\') or request[\'web_page_reference\'] is None or not request[\'web_page_reference\']\n
no_url = not request.has_key(\'url\') or request[\'url\'] is None or not request[\'url\']\n
\n
if no_web_page and no_url and no_reference:\n
if validator:\n
return 0\n
else:\n
return dict(result = False, form_id = form_id, portal_status_message=context.Base_translateString("External Url (url), ERP5 Web Page Path (web_page) and ERP5 Web Page Reference (web_page_reference): were omitted, one of them must be set."))\n
elif not (no_url or no_web_page) or not (no_reference or no_web_page):\n
if validator:\n
return 0\n
elif web_page_context:\n
return dict(result=False, \n
form_id=form_id, \n
portal_status_message=context.Base_translateString("url, web_page and web_page_reference don\'t need to be set in Web Page context."))\n
else:\n
return dict(result=False, \n
form_id=form_id, \n
portal_status_message=context.Base_translateString("You have to choose between External Url (url), ERP5 Web Page Path (web_page) and ERP5 Web Page Reference (web_page_reference). Only ONE of them must be set."))\n
\n
if validator:\n
return 1\n
else:\n
return dict(result = True)\n
_paramseditor, request, validator = TrueidZuite_viewZeleniumTestLauncherValidator
Zuite_waitForActivities.xml 0000664 0000000 0000000 00000005700 12015425354 0046567 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
Script_magic3_bind_names_body 0:\n
context.portal_activities.process_timer(0, 0)\n
count -= 1\n
sleep(t=1)\n
if count < 0:\n
raise RuntimeError, \'tic is endless\'\n
\n
return \'Done.\'\n
]]>_paramscount = 1000idZuite_waitForActivitiestitleWait activities
user-extensions.js.xml 0000664 0000000 0000000 00000010367 12015425354 0045542 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core
_EtagSupport__etagts37194719.51__name__user-extensions.jscontent_typeapplication/x-javascriptdata maximumPositionTop ){\n
Assert.fail(positionTop + " is not between " + minimumPositionTop + " and " + maximumPositionTop);\n
};\n
};
]]>preconditionsize2949title
erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt/ 0000775 0000000 0000000 00000000000 12015425354 0030341 5 ustar 00root root 0000000 0000000 change_log 0000664 0000000 0000000 00000001561 12015425354 0032276 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt 2011-10-11 Xavier
* Selenium core updated (2.6.0)
* captureEntirePageScreenshot is available to take screenshots with Selenium (Firefox only)
* captureEntirePageScreenshotAndUpload is available to upload the screenshots to the instance
* showOptions/hideOptions functions to help displaying drop down menus
2011-11-01 Cedric
* Add phantomRender Selenium user extension.
2010-06-07 yusei
* Remove short title.
2009-11-08 Rafael
* added Script for getMessageList from DummyMailHost
2009-04-20 Kazuhiko
* add Zuite_CommonTemplate that should a common template for all functional tests.
* add TestTool_getSkinName and TestTool_setSkinNameCookie so as to unify functional tests for normal skin and mobile skin.
2009-02-03 Kazuhiko
* define getAbsoluteLocation() in user-extensions.js for compatible with Zelenium based of Selenium 0.8 or later.
2008-10-01 fabien
* initial version copyright_list 0000664 0000000 0000000 00000000034 12015425354 0033245 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt Copyright (C) 2008 Nexedi SA dependency_list 0000664 0000000 0000000 00000000032 12015425354 0033351 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt erp5_core
erp5_xhtml_style description 0000664 0000000 0000000 00000000043 12015425354 0032525 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt Framework for user interface tests. erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt/license0000664 0000000 0000000 00000000003 12015425354 0031677 0 ustar 00root root 0000000 0000000 GPL maintainer_list 0000664 0000000 0000000 00000000006 12015425354 0033363 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt fabien revision 0000664 0000000 0000000 00000000002 12015425354 0032033 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt 56 template_extension_id_list 0000664 0000000 0000000 00000000051 12015425354 0035617 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt MailHostUtils
SeleniumTestUtils
ERP5Zuite template_format_version 0000664 0000000 0000000 00000000001 12015425354 0035124 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt 1 template_skin_id_list 0000664 0000000 0000000 00000000021 12015425354 0034544 0 ustar 00root root 0000000 0000000 erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt erp5_ui_test_core erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt/title 0000664 0000000 0000000 00000000021 12015425354 0031376 0 ustar 00root root 0000000 0000000 erp5_ui_test_core erp5-c44db1eac1e1a284e4bbc4f89909b49a4b53e330-bt5-erp5_ui_test_core/bt5/erp5_ui_test_core/bt/version0000664 0000000 0000000 00000000005 12015425354 0031744 0 ustar 00root root 0000000 0000000 5.4.7