Page objects

Plone page object

ftw.testbrowser.pages.plone.document_description(browser=<ftw.browser.core.Browser instance>)

Returns the whitespace-normalized document description of the current page or None.

ftw.testbrowser.pages.plone.first_heading(browser=<ftw.browser.core.Browser instance>)

Returns the whitespace-normalized first heading of the current page.

ftw.testbrowser.pages.plone.logged_in(browser=<ftw.browser.core.Browser instance>)

If a user is logged in in the current browser session (last request), it resturns the user-ID, otherwise False.

ftw.testbrowser.pages.plone.portal_type(browser=<ftw.browser.core.Browser instance>)

Returns the current content type, extracted from the body css classes.

ftw.testbrowser.pages.plone.view(browser=<ftw.browser.core.Browser instance>)

Returns the view, taken from the template class, of the current page.

ftw.testbrowser.pages.plone.view_and_portal_type(browser=<ftw.browser.core.Browser instance>)

Returns a tuple of the view and the content type, both taken from the body css classes.

Editbar page object

ftw.testbrowser.pages.editbar.container(browser=<ftw.browser.core.Browser instance>)

Returns the editbar container node or raises a NoElementFound exception.

Parameters:browser (ftw.testbrowser.core.Browser) – The browser instance to operate with. Uses the global singleton default browser by default.
Returns:The #edit-bar container node.
Return type:ftw.testbrowser.nodes.NodeWrapper
Raises:ftw.testbrowser.exceptions.NoElementFound
ftw.testbrowser.pages.editbar.contentview(*args, **kwargs)

Finds and returns a content view link node by its label.

Parameters:
  • label (string) – The label of the contentview to find.
  • browser (ftw.testbrowser.core.Browser) – The browser instance to operate with. Uses the global singleton default browser by default.
Returns:

The link node (<a>) of the content view.

Return type:

ftw.testbrowser.nodes.NodeWrapper

Raises:

ftw.testbrowser.exceptions.NoElementFound

ftw.testbrowser.pages.editbar.contentviews(browser=<ftw.browser.core.Browser instance>)

Returns the text labels of all visible content views.

Parameters:browser (ftw.testbrowser.core.Browser) – The browser instance to operate with. Uses the global singleton default browser by default.
Returns:A list of the labels of the visible content views.
Return type:list of str
ftw.testbrowser.pages.editbar.menu(*args, **kwargs)

Finds a menu by label and returns its <dl class="actionMenu"> node.

Parameters:
  • label (string) – The label of the menu to find.
  • browser (ftw.testbrowser.core.Browser) – The browser instance to operate with. Uses the global singleton default browser by default.
Returns:

The menu container node.

Return type:

ftw.testbrowser.nodes.NodeWrapper

Raises:

ftw.testbrowser.exceptions.NoElementFound

ftw.testbrowser.pages.editbar.menu_option(*args, **kwargs)

Returns the link node (<a>) of an option in a menu.

Parameters:
  • menu_label (string) – The label of the menu.
  • menu_label – The label of the option to find in the menu.
  • browser (ftw.testbrowser.core.Browser) – The browser instance to operate with. Uses the global singleton default browser by default.
Returns:

The option link node.

Return type:

ftw.testbrowser.nodes.NodeWrapper

Raises:

ftw.testbrowser.exceptions.NoElementFound

ftw.testbrowser.pages.editbar.menu_options(menu_label, browser=<ftw.browser.core.Browser instance>)

Returns the labels of the options of a menu.

Parameters:
  • menu_label (string) – The label of the menu to find.
  • browser (ftw.testbrowser.core.Browser) – The browser instance to operate with. Uses the global singleton default browser by default.
Returns:

A list of the labels of the visible menus.

Return type:

list of str

ftw.testbrowser.pages.editbar.menus(browser=<ftw.browser.core.Browser instance>)

Returns the text labels of all visible menus in the edit bar.

Parameters:browser (ftw.testbrowser.core.Browser) – The browser instance to operate with. Uses the global singleton default browser by default.
Returns:A list of the labels of the visible menus.
Return type:list of str
ftw.testbrowser.pages.editbar.visible(browser=<ftw.browser.core.Browser instance>)

Returns True when the editbar is visible on the current page.

Parameters:browser (ftw.testbrowser.core.Browser) – The browser instance to operate with. Uses the global singleton default browser by default.
Returns:True when the editbar is visible, False when it is not.
Return type:boolean

Factories menu page object

ftw.testbrowser.pages.factoriesmenu.add(type_name, browser=<ftw.browser.core.Browser instance>)

Clicks on the add-link in the factories menu for the passed type name. The type name is the literal link label. This opens the add form for this type.

Parameters:type_name (string) – The name (label) of the type to add.
ftw.testbrowser.pages.factoriesmenu.addable_types(browser=<ftw.browser.core.Browser instance>)

Returns a list of addable types. Each addable types is the link label in the factories menu.

ftw.testbrowser.pages.factoriesmenu.menu(browser=<ftw.browser.core.Browser instance>)

Returns the factories menu container node or None if it is not visible.

ftw.testbrowser.pages.factoriesmenu.visible(browser=<ftw.browser.core.Browser instance>)

Returns True when the factories menu is visible on the current page.

Status messages page object

ftw.testbrowser.pages.statusmessages.as_string(filter_=None, browser=<ftw.browser.core.Browser instance>)

All status messages as string instead of dict, so that it can be used for formatting assertion errors. Pass a type (“info”, “warning” or “error”) for filter_ing the messages.

ftw.testbrowser.pages.statusmessages.assert_message(text, browser=<ftw.browser.core.Browser instance>)

Assert that a status message is visible.

ftw.testbrowser.pages.statusmessages.assert_no_error_messages(browser=<ftw.browser.core.Browser instance>)

Assert that there are no error messages.

ftw.testbrowser.pages.statusmessages.assert_no_messages(browser=<ftw.browser.core.Browser instance>)

Assert that there are no status messages at all.

ftw.testbrowser.pages.statusmessages.error_messages(browser=<ftw.browser.core.Browser instance>)

Returns all “error” statusmessages.

ftw.testbrowser.pages.statusmessages.info_messages(browser=<ftw.browser.core.Browser instance>)

Returns all “info” statusmessages.

ftw.testbrowser.pages.statusmessages.messages(browser=<ftw.browser.core.Browser instance>)

Returns a dict with lists of status messages (normalized text) for “info”, “warning” and “error”.

ftw.testbrowser.pages.statusmessages.warning_messages(browser=<ftw.browser.core.Browser instance>)

Returns all “warning” statusmessages.

dexterity page object

ftw.testbrowser.pages.dexterity.erroneous_fields(browser=<ftw.browser.core.Browser instance>)

Returns a mapping of erroneous fields (key is label or name of the field) to a list of error messages for the fields on a dexterity add and edit forms (form#form).

Returns:A dict of erroneous fields with error messages.
Return type:dict

z3cform page object

ftw.testbrowser.pages.z3cform.erroneous_fields(form, browser=<ftw.browser.core.Browser instance>)

Returns a mapping of erroneous fields (key is label or name of the field) to a list of error messages for the fields on the form passed as argument.

Parameters:
Returns:

A dict of erroneous fields with error messages.

Return type:

dict

Folder contents page object

ftw.testbrowser.pages.folder_contents.column_title_by_name(name, browser=<ftw.browser.core.Browser instance>)

Find a column title by the name of the column.

Parameters:
Returns:

Title of the column

Return type:

str

ftw.testbrowser.pages.folder_contents.dicts(browser=<ftw.browser.core.Browser instance>, **kwargs)

Returns the folder contents table rows as dicts, as described in ftw.testbrowser.table.Table.dicts(). It removes the select-all header row.

Parameters:browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:List of rows, represented as dicts.
Return type:list of dicts
ftw.testbrowser.pages.folder_contents.form(browser=<ftw.browser.core.Browser instance>)

The folder contents form node.

Parameters:browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:The folder contents form node.
Return type:ftw.testbrowser.form.Form
ftw.testbrowser.pages.folder_contents.row_by_object(obj, browser=<ftw.browser.core.Browser instance>)

Returns the row for an object.

Parameters:
  • obj (A plone object.) – The object to look for.
  • browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:

The row node.

Return type:

ftw.testbrowser.table.TableRow

ftw.testbrowser.pages.folder_contents.row_by_path(path, browser=<ftw.browser.core.Browser instance>)

Returns the row for an object by its path.

Parameters:
  • path (string) – The path of the object to look for.
  • browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:

The row node.

Return type:

ftw.testbrowser.table.TableRow

ftw.testbrowser.pages.folder_contents.row_by_title(title, browser=<ftw.browser.core.Browser instance>)

Returns the row for an object by its title.

Parameters:
Returns:

The row node.

Return type:

ftw.testbrowser.table.TableRow

ftw.testbrowser.pages.folder_contents.rows_by_path(browser=<ftw.browser.core.Browser instance>)

Return a mapping of paths to row objects.

Parameters:browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:mapping of row paths to row nodes.
Return type:dict
ftw.testbrowser.pages.folder_contents.select(*objects, **kwargs)

Selects the checkboxes on one or more rows by objects.

Parameters:
  • objects (list of Plone objects) – List of Plone objects to select.
  • browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
ftw.testbrowser.pages.folder_contents.select_by_path(*paths, **kwargs)

Selects the checkboxes on one or more rows by the path of the objects.

Parameters:
  • paths (list of strings) – Paths for objects to select.
  • browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
ftw.testbrowser.pages.folder_contents.select_by_title(*titles, **kwargs)

Selects the checkboxes on one or more rows by the title of the objects.

Parameters:
  • titles (list of strings) – Titles for objects to select.
  • browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
ftw.testbrowser.pages.folder_contents.select_rows(rows)

Select the checkboxes of set of rows.

Parameters:rows (list of ftw.testbrowser.table.TableRow().) – A list of row objects.
ftw.testbrowser.pages.folder_contents.selected_paths(browser=<ftw.browser.core.Browser instance>)

Returns the paths of checkboxes currently selected.

Parameters:browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:paths of selected checkboxes
Return type:tuple of strings
ftw.testbrowser.pages.folder_contents.table(browser=<ftw.browser.core.Browser instance>)

The folder contents table node.

Parameters:browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:The folder contents table node.
Return type:ftw.testbrowser.table.Table
ftw.testbrowser.pages.folder_contents.title_cells(browser=<ftw.browser.core.Browser instance>)

Returns all the cell of the title column.

Parameters:browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:Cells of the title column.
Return type:list of cell objects
ftw.testbrowser.pages.folder_contents.titles(browser=<ftw.browser.core.Browser instance>)

Returns all titles of the objects listed on the folder contents view.

Parameters:browser (ftw.testbrowser.core.Browser) – A browser instance. (Default: global browser)
Returns:Titles of objects
Return type:list of strings