ftw.testbrowser


Nameftw.testbrowser JSON
Version 1.29.5 PyPI version JSON
download
home_pagehttps://github.com/4teamwork/ftw.testbrowser
SummaryA test browser for Zope and Plone.
upload_time2017-12-04 12:04:57
maintainer
docs_urlNone
author4teamwork AG
requires_python
licenseGPL2
keywords ftw browser testbrowser test
VCS
bugtrack_url https://github.com/4teamwork/ftw.testbrowser/issues
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ftw.testbrowser
===============

`Package documentation <http://ftwtestbrowser.readthedocs.io/>`_

`ftw.testbrowser` is a browser library for testing `Plone`_ web sites and
applications.
It integrations directly into `Plone` / `Zope` and uses `lxml`_ for parsing
and querying pages. It supports all the basic features such as filling forms.



Links
-----

- Documentation: http://ftwtestbrowser.readthedocs.io/
- Github: https://github.com/4teamwork/ftw.testbrowser
- Issues: https://github.com/4teamwork/ftw.testbrowser/issues
- Pypi: http://pypi.python.org/pypi/ftw.testbrowser
- Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.testbrowser


Copyright
---------

This package is copyright by `4teamwork <http://www.4teamwork.ch/>`_.

``ftw.testbrowser`` is licensed under GNU General Public License, version 2.

.. _Plone: http://www.plone.org/
.. _lxml: http://lxml.de/

Changelog
=========


1.29.5 (2017-12-04)
-------------------

- Improve extraction of erroneous fields. [jone, mbaechtold]

1.29.4 (2017-11-30)
-------------------

- Fix unbound local error. [deiferni]


1.29.3 (2017-11-23)
-------------------

- Add missing dependency on plone.uuid. [njohner]


1.29.2 (2017-11-10)
-------------------

- Fix browser.debug to finish writing file before opening. [jone]

1.29.1 (2017-11-08)
-------------------

- Improve opening relative URLs. [mbaechtold]


1.29.0 (2017-10-13)
-------------------

- Refactor plone.protect auto CSRF support for compatibility
  with ftw.testing's COMPONENT_REGISTRY_ISOLATION isolation layer. [jone]

1.28.1 (2017-10-03)
-------------------

- Factories menu: fix regression when menu visible but empty. [jone]

1.28.0 (2017-10-03)
-------------------

- Let traversal driver support plone.protect>=3 auto CSRF protection. [jone]
- Add Plone 5.1 support. [jone, maethu]


1.27.0 (2017-09-15)
-------------------

- Improve multi browser support in standard page objects. [jone]

1.26.3 (2017-09-11)
-------------------

- Make ``plone.protect`` import optional so that ``ftw.testbrowser``
  works without ``plone.protect``. [jone]

1.26.2 (2017-08-14)
-------------------

- Disallow using browser as nested context manager. [jone]
- Fix reset behavior while used in context manager. [jone]

1.26.1 (2017-07-31)
-------------------

- Datagridfield widget: support cell-filling by other widgets. [jone]

1.26.0 (2017-07-27)
-------------------

- Feature: raise ``InsufficientPrivileges`` when a Plone request
  causes a insufficient privileges problem. [jone]

1.25.0 (2017-07-04)
-------------------

- Add editbar page object module. [jone]
- Reimplement internal query info with a QueryInfo class. [jone]
- Add send_authenticator option for CSRF support. [jone]


1.24.3 (2017-06-23)
-------------------

- Fix issues with read the docs builds. [jone]


1.24.2 (2017-06-21)
-------------------

- Traversal driver: decode gzip encoded responses. [jone]


1.24.1 (2017-06-19)
-------------------

- Declare missing dependencies. [lgraf]


1.24.0 (2017-06-16)
-------------------

- Log exceptions to stderr when they are not expected. [jone]
- Standardize redirect loop detection: always throw a ``RedirectLoopException``. [jone]
- Add traversal request driver. [jone]


1.23.2 (2017-06-16)
-------------------

- Fix `browser.context` when base_url ends with a view name. [phgross]


1.23.1 (2017-05-02)
-------------------

- Fix `browser.debug` when body is a bytestring. [jone]


1.23.0 (2017-04-28)
-------------------

- Introduce ``browser.expect_unauthorized`` context manager. [jone]


1.22.2 (2017-04-28)
-------------------

- HTTPError: include code and reason in exception. [jone]
- Docs: Fix wrong expect_http_error argument names. [jone]


1.22.1 (2017-04-28)
-------------------

- Docs: swith to RTD, update URLs. [jone]
- Docs: Switch to RTD Sphinx theme. [lgraf]


1.22.0 (2017-04-28)
-------------------

- Forbid setting of "x-zope-handle-errors" header. [jone]
- Add an option ``browser.exception_bubbling``, disabled by default. [jone]
- Mechanize: no longer disable "x-zope-handle-errors". [jone]
- Introduce ``browser.expect_http_error()`` context manager. [jone]
- Add an option ``browser.raise_http_errors``, enabled by default. [jone]
- Raise ``HTTPClientError`` and ``HTTPServerError`` by default. [jone]
- Introduce ``browser.status_reason``. [jone]
- Introduce ``browser.status_code``. [jone]


1.21.0 (2017-04-19)
-------------------

- Make ``zope.globalrequest`` support optional. [jone]
- Add testing layers for setting the default driver. [jone]
- Add ``default_driver`` option to the driver. [jone]
- Refactoring: introduce request drivers. [jone]


1.20.0 (2017-04-10)
-------------------

- Add Support for Button tag. [tschanzt]
- No longer test with Archetypes, test only with dexterity. [jone]
- Support latest Plone 4.3.x release. [mathias.leimgruber]


1.19.3 (2016-07-25)
-------------------

- Declare some previously missing test requirements.
  [lgraf]

- Declare previously missing dependency on zope.globalrequest (introduced in #35).
  [lgraf]


1.19.2 (2016-06-27)
-------------------

- Preserve the request of zope.globalrequest when opening pages with
  mechanize.
  [deiferni]

- Also provide advice for available options in exception message.
  [lgraf]


1.19.1 (2015-08-20)
-------------------

- Preserve radio-button input when filling forms with radio buttons.
  [deiferni]


1.19.0 (2015-07-31)
-------------------

- Implement browser.click_on(tex) short cut for clicking links.
  [jone]

- Fix encoding error in assertion message when selecting a missing select
  option.
  [mbaechtold]


1.18.1 (2015-07-23)
-------------------

- Fix GET form submission to actually submit it with GET.
  [jone]


1.18.0 (2015-07-22)
-------------------

- Table: add new ".column" method for getting all cells of a column.
  [jone]


1.17.0 (2015-07-22)
-------------------

- Add support for filling ``collective.z3cform.datagridfield``.
  [jone, mbaechtold]


1.16.1 (2015-07-13)
-------------------

- Autocomplete widget: extract URL from javascript.
  [jone]


1.16.0 (2015-07-08)
-------------------

- Add image upload widget support (archetypes and dexterity).
  [jone]


1.15.0 (2015-05-07)
-------------------

- Parse XML responses with XML parser instead of HTML parser.
  New methods for parsing the response: ``parse_as_html``,
  ``parse_as_xml`` and ``parse``.
  [jone]

- Add browser properties ``contenttype``, ``mimetype`` and ``encoding``.
  [jone]


1.14.6 (2015-04-17)
-------------------

- Use ``cssselect`` in favor of ``lxml.cssselect``.
  This allows us to use ``lxml >= 3``.
  [jone]

- Added tests for z3c date fields.
  [phgross]


1.14.5 (2015-01-30)
-------------------

- AutocompleteWidget: Drop query string from base URL when building query URL.
  [lgraf]


1.14.4 (2014-10-03)
-------------------

- Widgets: test for sequence widget after testing for autocomplete widgets.
  Some widgets match both, autocomplete and sequence widgets.
  In this case we want to have the autocomplete widget.
  [jone]


1.14.3 (2014-10-02)
-------------------

- Fix error with textarea tags without id-attributes.
  [jone]


1.14.2 (2014-09-29)
-------------------

- Fix an issue with relative urls.
  [jone, deiferni]


1.14.1 (2014-09-26)
-------------------

- Set the HTTP ``REFERER`` header correctly.
  [jone]


1.14.0 (2014-09-26)
-------------------


- Add folder_contents page object.
  [jone]

- Update table methods with keyword arguments:

  - head_offset: used for stripping rows from the header
  - as_text: set to False for getting cell nodes

  [jone]


1.13.4 (2014-09-22)
-------------------

- Filling selects: verbose error message when option not found.
  The available options are now included in the message.
  [jone]


1.13.3 (2014-09-02)
-------------------

- Node.text: remove multiple spaces in a row caused by nesting.
  [jone]


1.13.2 (2014-08-06)
-------------------

- Fix problems when filling forms which have checked checkedbox.
  [phgross]


1.13.1 (2014-07-15)
-------------------

- Fix encoding problem on binary file uploads.
  [jone]


1.13.0 (2014-06-12)
-------------------

- Add a Dexterity namedfile upload widget.
  [lgraf]


1.12.4 (2014-05-30)
-------------------

- Fix python 2.6 support.
  [jone]


1.12.3 (2014-05-30)
-------------------

- Fix z3cform choice collection widget to support Plone < 4.3.
  [jone]


1.12.2 (2014-05-29)
-------------------

- Fix z3cform choice collection widget submit value.
  The widget creates hidden input fields on submit.
  [jone]


1.12.1 (2014-05-29)
-------------------

- Fix error in z3cform choice collection widget when using paths.
  [jone]


1.12.0 (2014-05-29)
-------------------

- Add a z3cform choice collection widget.
  This is used for z3cform List fields with Choice value_type.
  [jone]

- Add select field node wrapper with methods for getting available options.
  [jone]


1.11.4 (2014-05-22)
-------------------

- browser.open(data): support multiple values for the same data name.
  The values can either be passed as a dict with lists as values or as
  a sequence of two-element tuples.
  [jone]


1.11.3 (2014-05-19)
-------------------

- Fix browser.url regression when the previous request raised an exception.
  [jone]


1.11.2 (2014-05-17)
-------------------

- Make NoElementFound exception message more verbose.
  When a `.first` on an empty result set raises a NoElementFound
  exception, the exception message now includes the original query.
  [jone]


1.11.1 (2014-05-17)
-------------------

- Fix browser cloning regression in autocomplete widget "query".
  The cloned browser did no longer have the same headers / cookies,
  causing authenticated access to be no longer possible.
  [jone]

- New browser.clone method for creating browser clones.
  [jone]

- Update standard page objects to accept browser instace as keyword arguments.
  This makes it possible to use the page objects with non-standard browsers.
  [jone]


1.11.0 (2014-05-14)
-------------------

- New browser.base_url property, respecting the <base> tag.
  [jone]

- New browser.debug method, opening the current page in your real browser.
  [jone]

- New browser.on method, a lazy variant of browser.open.
  [jone]

- New browser.reload method, reloading the current page.
  [jone]

- Improve requests library support:

  - Support choosing requests library, make Zope app setup optional.
    When no Zope app is set up, the ``requests`` library is set as default,
    otherwise ``mechanize``.
  - Support form submitting with requests library.
  - Improve login and header support for equests library requests.
  - Add browser.cookies support for requests library requests.
  - Use requests library sessions, so that cookies and headers persist.
  - Automatically use "POST" when data is submitted.

  [jone]

- Login improvements:

  - Support passing member objects to browser.login().
    The users / members are still expected to hav TEST_USER_PASSWORD as password.

  - Refactor login to use the new request header methods.

  [jone]

- Add request header methods for managing permanent request headers:

  - browser.append_request_header
  - browser.replace_request_header
  - browser.clear_request_header

  [jone]

- Refactor Form: eliminate class methods and do not use the global browser.
  This improves form support when running multiple browser instances concurrently.

  - Form.field_labels (class method) is now a instance property and public API.
  - Form.find_widget_in_form (class method) is removed and replaced with
    Form.find_widget (instance method).
  - Form.find_field_in_form (class method) is removed and replaced
    Form.get_field (instance method).
  - Form.find_form_element_by_label_or_name (class method) is removed and replaced
    with browser.find_form_by_field.
  - Form.find_form_by_labels_or_names (class method) is removed and replaced with
    browser.find_form_by_fields.
  - New Form.action_url property with the full qualified action URL.
  - Fix form action URL bug when using relative paths in combination with
    document-style base url.

  [jone]

- Fix wrapping input.label - this did only work for a part of field types.
  [jone]

- Fix UnicodeDecodeError in node string representation.
  [mathias.leimgruber]


1.10.0 (2014-03-19)
-------------------

- Add NodeWrapper-properties:

  - innerHTML
  - normalized_innerHTML
  - outerHTML
  - normalized_outerHTML

  [jone, elioschmutz]


1.9.0 (2014-03-18)
------------------

- Add support for filling AT MultiSelectionWidget.
  [jone]


1.8.0 (2014-03-04)
------------------

- Add a ``context`` property to the browser with the current
  context (Plone object) of the currently viewed page.
  [jone]


1.7.3 (2014-02-28)
------------------

- Fix encoding problem in factories menu page object.
  The problem occured when having a "Restrictions..." entry in the menu.
  [jone]


1.7.2 (2014-02-25)
------------------

- Form: Support checking checkboxes without a value.
  Checkboxes without a value attribute are invalid but common.
  The default browser behavior is to fallback to the value "on".
  [jone]


1.7.0 (2014-02-03)
------------------

- ContentTreeWidget: support filling objects as values.
  [jone]


1.6.1 (2014-01-31)
------------------

- Implement `logout` on browser, logout before each login.
  [jone]


1.6.0 (2014-01-29)
------------------

- Add `cookies` property to the browser.
  [jone]


1.5.3 (2014-01-28)
------------------

- Fix multiple wrapping on browser.forms.
  [jone]


1.5.2 (2014-01-17)
------------------

- Implement archetypes datetime widget form filling.
  [jone]


1.5.1 (2014-01-07)
------------------

- Fix encoding problems when posting unicode data directly with Browser.open.
  [jone]

- Support form filling with bytestrings.
  [jone]

- Fix form filling with umlauts.
  [jone]

- Fix form fill for single select fields.
  [jone]


1.5.0 (2014-01-03)
------------------

- Implement AT file upload widget, because the label does not work.
  [jone]

- Implement file uploads.
  [jone]

- Add "headers" property on the browser.
  [jone]


1.4.0 (2013-12-27)
------------------

- Deprecate `normalized_text` method, replace it with `text` property.
  The `text` property is more intuitive and easier to remember.
  The `text` property has almost the same result as `normalized_text`,
  but it represents `<br/>` and `<p>` with single and double newlines respectively.
  `text` is to be the lxml `text` property, which contained the raw, non-recursive
  text of the current node and is now available as `raw_text` property.
  [jone]

- open_html: make debugging file contain passed HTML.
  [jone]

- Sequence widget: implement custom form filling with label support and validation.
  [jone]

- Sequence widget: add additional properties with inputs and options.
  [jone]


1.3.0 (2013-12-11)
------------------

- Implement "query" method on autocomplete widget.
  [jone]

- Implement form fill for z3cform datetime widget.
  [jone]

- Fix setting attributes on nodes when wrapped with NodeWrapper.
  [jone]

- Implement form fill for z3cform autocomplete widgets.
  [jone]

- Implement form fill for z3cform sequence widgets.
  [jone]

- Add ``webdav`` method for doing WebDAV requests with a ZServer.
  [jone]


1.2.0 (2013-11-24)
------------------

- Add `open_html` method to browser object, allowing to pass in HTML directly.
  [jone]


1.1.0 (2013-11-07)
------------------

- Add dexterity page object, refactor z3cform page object.
  [jone]

- Add table nodes with helpers for table testing.
  [jone]

- Merging "Nodes" lists returns a new "Nodes" list, not a "list".
  [jone]

- Show containing elements in string representation of "Nodes" list.
  [jone]

- Fix direct child selection with CSS (node.css(">tag")).
  [jone]

- Add a ``recursive`` option to ``normalized_text``.
  [jone]


1.0.2 (2013-10-31)
------------------

- When normalizing whitespaces, do also replace non-breaking spaces.
  [jone]


1.0.1 (2013-10-31)
------------------

- Add ``first_or_none`` property to ``Nodes``.
  [jone]


1.0.0 (2013-10-28)
------------------

- Initial implementation.
  [jone]
            

Raw data

            {
    "maintainer": "", 
    "docs_url": null, 
    "requires_python": "", 
    "maintainer_email": "", 
    "cheesecake_code_kwalitee_id": null, 
    "keywords": "ftw browser testbrowser test", 
    "upload_time": "2017-12-04 12:04:57", 
    "author": "4teamwork AG", 
    "home_page": "https://github.com/4teamwork/ftw.testbrowser", 
    "github_user": "4teamwork", 
    "download_url": "https://pypi.python.org/packages/bb/46/ca1a4713d74d1309101556128ef5f291477d2c5122b5af1354cbe6b0dc8a/ftw.testbrowser-1.29.5.tar.gz", 
    "platform": "", 
    "version": "1.29.5", 
    "cheesecake_documentation_id": null, 
    "description": "ftw.testbrowser\n===============\n\n`Package documentation <http://ftwtestbrowser.readthedocs.io/>`_\n\n`ftw.testbrowser` is a browser library for testing `Plone`_ web sites and\napplications.\nIt integrations directly into `Plone` / `Zope` and uses `lxml`_ for parsing\nand querying pages. It supports all the basic features such as filling forms.\n\n\n\nLinks\n-----\n\n- Documentation: http://ftwtestbrowser.readthedocs.io/\n- Github: https://github.com/4teamwork/ftw.testbrowser\n- Issues: https://github.com/4teamwork/ftw.testbrowser/issues\n- Pypi: http://pypi.python.org/pypi/ftw.testbrowser\n- Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.testbrowser\n\n\nCopyright\n---------\n\nThis package is copyright by `4teamwork <http://www.4teamwork.ch/>`_.\n\n``ftw.testbrowser`` is licensed under GNU General Public License, version 2.\n\n.. _Plone: http://www.plone.org/\n.. _lxml: http://lxml.de/\n\nChangelog\n=========\n\n\n1.29.5 (2017-12-04)\n-------------------\n\n- Improve extraction of erroneous fields. [jone, mbaechtold]\n\n1.29.4 (2017-11-30)\n-------------------\n\n- Fix unbound local error. [deiferni]\n\n\n1.29.3 (2017-11-23)\n-------------------\n\n- Add missing dependency on plone.uuid. [njohner]\n\n\n1.29.2 (2017-11-10)\n-------------------\n\n- Fix browser.debug to finish writing file before opening. [jone]\n\n1.29.1 (2017-11-08)\n-------------------\n\n- Improve opening relative URLs. [mbaechtold]\n\n\n1.29.0 (2017-10-13)\n-------------------\n\n- Refactor plone.protect auto CSRF support for compatibility\n  with ftw.testing's COMPONENT_REGISTRY_ISOLATION isolation layer. [jone]\n\n1.28.1 (2017-10-03)\n-------------------\n\n- Factories menu: fix regression when menu visible but empty. [jone]\n\n1.28.0 (2017-10-03)\n-------------------\n\n- Let traversal driver support plone.protect>=3 auto CSRF protection. [jone]\n- Add Plone 5.1 support. [jone, maethu]\n\n\n1.27.0 (2017-09-15)\n-------------------\n\n- Improve multi browser support in standard page objects. [jone]\n\n1.26.3 (2017-09-11)\n-------------------\n\n- Make ``plone.protect`` import optional so that ``ftw.testbrowser``\n  works without ``plone.protect``. [jone]\n\n1.26.2 (2017-08-14)\n-------------------\n\n- Disallow using browser as nested context manager. [jone]\n- Fix reset behavior while used in context manager. [jone]\n\n1.26.1 (2017-07-31)\n-------------------\n\n- Datagridfield widget: support cell-filling by other widgets. [jone]\n\n1.26.0 (2017-07-27)\n-------------------\n\n- Feature: raise ``InsufficientPrivileges`` when a Plone request\n  causes a insufficient privileges problem. [jone]\n\n1.25.0 (2017-07-04)\n-------------------\n\n- Add editbar page object module. [jone]\n- Reimplement internal query info with a QueryInfo class. [jone]\n- Add send_authenticator option for CSRF support. [jone]\n\n\n1.24.3 (2017-06-23)\n-------------------\n\n- Fix issues with read the docs builds. [jone]\n\n\n1.24.2 (2017-06-21)\n-------------------\n\n- Traversal driver: decode gzip encoded responses. [jone]\n\n\n1.24.1 (2017-06-19)\n-------------------\n\n- Declare missing dependencies. [lgraf]\n\n\n1.24.0 (2017-06-16)\n-------------------\n\n- Log exceptions to stderr when they are not expected. [jone]\n- Standardize redirect loop detection: always throw a ``RedirectLoopException``. [jone]\n- Add traversal request driver. [jone]\n\n\n1.23.2 (2017-06-16)\n-------------------\n\n- Fix `browser.context` when base_url ends with a view name. [phgross]\n\n\n1.23.1 (2017-05-02)\n-------------------\n\n- Fix `browser.debug` when body is a bytestring. [jone]\n\n\n1.23.0 (2017-04-28)\n-------------------\n\n- Introduce ``browser.expect_unauthorized`` context manager. [jone]\n\n\n1.22.2 (2017-04-28)\n-------------------\n\n- HTTPError: include code and reason in exception. [jone]\n- Docs: Fix wrong expect_http_error argument names. [jone]\n\n\n1.22.1 (2017-04-28)\n-------------------\n\n- Docs: swith to RTD, update URLs. [jone]\n- Docs: Switch to RTD Sphinx theme. [lgraf]\n\n\n1.22.0 (2017-04-28)\n-------------------\n\n- Forbid setting of \"x-zope-handle-errors\" header. [jone]\n- Add an option ``browser.exception_bubbling``, disabled by default. [jone]\n- Mechanize: no longer disable \"x-zope-handle-errors\". [jone]\n- Introduce ``browser.expect_http_error()`` context manager. [jone]\n- Add an option ``browser.raise_http_errors``, enabled by default. [jone]\n- Raise ``HTTPClientError`` and ``HTTPServerError`` by default. [jone]\n- Introduce ``browser.status_reason``. [jone]\n- Introduce ``browser.status_code``. [jone]\n\n\n1.21.0 (2017-04-19)\n-------------------\n\n- Make ``zope.globalrequest`` support optional. [jone]\n- Add testing layers for setting the default driver. [jone]\n- Add ``default_driver`` option to the driver. [jone]\n- Refactoring: introduce request drivers. [jone]\n\n\n1.20.0 (2017-04-10)\n-------------------\n\n- Add Support for Button tag. [tschanzt]\n- No longer test with Archetypes, test only with dexterity. [jone]\n- Support latest Plone 4.3.x release. [mathias.leimgruber]\n\n\n1.19.3 (2016-07-25)\n-------------------\n\n- Declare some previously missing test requirements.\n  [lgraf]\n\n- Declare previously missing dependency on zope.globalrequest (introduced in #35).\n  [lgraf]\n\n\n1.19.2 (2016-06-27)\n-------------------\n\n- Preserve the request of zope.globalrequest when opening pages with\n  mechanize.\n  [deiferni]\n\n- Also provide advice for available options in exception message.\n  [lgraf]\n\n\n1.19.1 (2015-08-20)\n-------------------\n\n- Preserve radio-button input when filling forms with radio buttons.\n  [deiferni]\n\n\n1.19.0 (2015-07-31)\n-------------------\n\n- Implement browser.click_on(tex) short cut for clicking links.\n  [jone]\n\n- Fix encoding error in assertion message when selecting a missing select\n  option.\n  [mbaechtold]\n\n\n1.18.1 (2015-07-23)\n-------------------\n\n- Fix GET form submission to actually submit it with GET.\n  [jone]\n\n\n1.18.0 (2015-07-22)\n-------------------\n\n- Table: add new \".column\" method for getting all cells of a column.\n  [jone]\n\n\n1.17.0 (2015-07-22)\n-------------------\n\n- Add support for filling ``collective.z3cform.datagridfield``.\n  [jone, mbaechtold]\n\n\n1.16.1 (2015-07-13)\n-------------------\n\n- Autocomplete widget: extract URL from javascript.\n  [jone]\n\n\n1.16.0 (2015-07-08)\n-------------------\n\n- Add image upload widget support (archetypes and dexterity).\n  [jone]\n\n\n1.15.0 (2015-05-07)\n-------------------\n\n- Parse XML responses with XML parser instead of HTML parser.\n  New methods for parsing the response: ``parse_as_html``,\n  ``parse_as_xml`` and ``parse``.\n  [jone]\n\n- Add browser properties ``contenttype``, ``mimetype`` and ``encoding``.\n  [jone]\n\n\n1.14.6 (2015-04-17)\n-------------------\n\n- Use ``cssselect`` in favor of ``lxml.cssselect``.\n  This allows us to use ``lxml >= 3``.\n  [jone]\n\n- Added tests for z3c date fields.\n  [phgross]\n\n\n1.14.5 (2015-01-30)\n-------------------\n\n- AutocompleteWidget: Drop query string from base URL when building query URL.\n  [lgraf]\n\n\n1.14.4 (2014-10-03)\n-------------------\n\n- Widgets: test for sequence widget after testing for autocomplete widgets.\n  Some widgets match both, autocomplete and sequence widgets.\n  In this case we want to have the autocomplete widget.\n  [jone]\n\n\n1.14.3 (2014-10-02)\n-------------------\n\n- Fix error with textarea tags without id-attributes.\n  [jone]\n\n\n1.14.2 (2014-09-29)\n-------------------\n\n- Fix an issue with relative urls.\n  [jone, deiferni]\n\n\n1.14.1 (2014-09-26)\n-------------------\n\n- Set the HTTP ``REFERER`` header correctly.\n  [jone]\n\n\n1.14.0 (2014-09-26)\n-------------------\n\n\n- Add folder_contents page object.\n  [jone]\n\n- Update table methods with keyword arguments:\n\n  - head_offset: used for stripping rows from the header\n  - as_text: set to False for getting cell nodes\n\n  [jone]\n\n\n1.13.4 (2014-09-22)\n-------------------\n\n- Filling selects: verbose error message when option not found.\n  The available options are now included in the message.\n  [jone]\n\n\n1.13.3 (2014-09-02)\n-------------------\n\n- Node.text: remove multiple spaces in a row caused by nesting.\n  [jone]\n\n\n1.13.2 (2014-08-06)\n-------------------\n\n- Fix problems when filling forms which have checked checkedbox.\n  [phgross]\n\n\n1.13.1 (2014-07-15)\n-------------------\n\n- Fix encoding problem on binary file uploads.\n  [jone]\n\n\n1.13.0 (2014-06-12)\n-------------------\n\n- Add a Dexterity namedfile upload widget.\n  [lgraf]\n\n\n1.12.4 (2014-05-30)\n-------------------\n\n- Fix python 2.6 support.\n  [jone]\n\n\n1.12.3 (2014-05-30)\n-------------------\n\n- Fix z3cform choice collection widget to support Plone < 4.3.\n  [jone]\n\n\n1.12.2 (2014-05-29)\n-------------------\n\n- Fix z3cform choice collection widget submit value.\n  The widget creates hidden input fields on submit.\n  [jone]\n\n\n1.12.1 (2014-05-29)\n-------------------\n\n- Fix error in z3cform choice collection widget when using paths.\n  [jone]\n\n\n1.12.0 (2014-05-29)\n-------------------\n\n- Add a z3cform choice collection widget.\n  This is used for z3cform List fields with Choice value_type.\n  [jone]\n\n- Add select field node wrapper with methods for getting available options.\n  [jone]\n\n\n1.11.4 (2014-05-22)\n-------------------\n\n- browser.open(data): support multiple values for the same data name.\n  The values can either be passed as a dict with lists as values or as\n  a sequence of two-element tuples.\n  [jone]\n\n\n1.11.3 (2014-05-19)\n-------------------\n\n- Fix browser.url regression when the previous request raised an exception.\n  [jone]\n\n\n1.11.2 (2014-05-17)\n-------------------\n\n- Make NoElementFound exception message more verbose.\n  When a `.first` on an empty result set raises a NoElementFound\n  exception, the exception message now includes the original query.\n  [jone]\n\n\n1.11.1 (2014-05-17)\n-------------------\n\n- Fix browser cloning regression in autocomplete widget \"query\".\n  The cloned browser did no longer have the same headers / cookies,\n  causing authenticated access to be no longer possible.\n  [jone]\n\n- New browser.clone method for creating browser clones.\n  [jone]\n\n- Update standard page objects to accept browser instace as keyword arguments.\n  This makes it possible to use the page objects with non-standard browsers.\n  [jone]\n\n\n1.11.0 (2014-05-14)\n-------------------\n\n- New browser.base_url property, respecting the <base> tag.\n  [jone]\n\n- New browser.debug method, opening the current page in your real browser.\n  [jone]\n\n- New browser.on method, a lazy variant of browser.open.\n  [jone]\n\n- New browser.reload method, reloading the current page.\n  [jone]\n\n- Improve requests library support:\n\n  - Support choosing requests library, make Zope app setup optional.\n    When no Zope app is set up, the ``requests`` library is set as default,\n    otherwise ``mechanize``.\n  - Support form submitting with requests library.\n  - Improve login and header support for equests library requests.\n  - Add browser.cookies support for requests library requests.\n  - Use requests library sessions, so that cookies and headers persist.\n  - Automatically use \"POST\" when data is submitted.\n\n  [jone]\n\n- Login improvements:\n\n  - Support passing member objects to browser.login().\n    The users / members are still expected to hav TEST_USER_PASSWORD as password.\n\n  - Refactor login to use the new request header methods.\n\n  [jone]\n\n- Add request header methods for managing permanent request headers:\n\n  - browser.append_request_header\n  - browser.replace_request_header\n  - browser.clear_request_header\n\n  [jone]\n\n- Refactor Form: eliminate class methods and do not use the global browser.\n  This improves form support when running multiple browser instances concurrently.\n\n  - Form.field_labels (class method) is now a instance property and public API.\n  - Form.find_widget_in_form (class method) is removed and replaced with\n    Form.find_widget (instance method).\n  - Form.find_field_in_form (class method) is removed and replaced\n    Form.get_field (instance method).\n  - Form.find_form_element_by_label_or_name (class method) is removed and replaced\n    with browser.find_form_by_field.\n  - Form.find_form_by_labels_or_names (class method) is removed and replaced with\n    browser.find_form_by_fields.\n  - New Form.action_url property with the full qualified action URL.\n  - Fix form action URL bug when using relative paths in combination with\n    document-style base url.\n\n  [jone]\n\n- Fix wrapping input.label - this did only work for a part of field types.\n  [jone]\n\n- Fix UnicodeDecodeError in node string representation.\n  [mathias.leimgruber]\n\n\n1.10.0 (2014-03-19)\n-------------------\n\n- Add NodeWrapper-properties:\n\n  - innerHTML\n  - normalized_innerHTML\n  - outerHTML\n  - normalized_outerHTML\n\n  [jone, elioschmutz]\n\n\n1.9.0 (2014-03-18)\n------------------\n\n- Add support for filling AT MultiSelectionWidget.\n  [jone]\n\n\n1.8.0 (2014-03-04)\n------------------\n\n- Add a ``context`` property to the browser with the current\n  context (Plone object) of the currently viewed page.\n  [jone]\n\n\n1.7.3 (2014-02-28)\n------------------\n\n- Fix encoding problem in factories menu page object.\n  The problem occured when having a \"Restrictions...\" entry in the menu.\n  [jone]\n\n\n1.7.2 (2014-02-25)\n------------------\n\n- Form: Support checking checkboxes without a value.\n  Checkboxes without a value attribute are invalid but common.\n  The default browser behavior is to fallback to the value \"on\".\n  [jone]\n\n\n1.7.0 (2014-02-03)\n------------------\n\n- ContentTreeWidget: support filling objects as values.\n  [jone]\n\n\n1.6.1 (2014-01-31)\n------------------\n\n- Implement `logout` on browser, logout before each login.\n  [jone]\n\n\n1.6.0 (2014-01-29)\n------------------\n\n- Add `cookies` property to the browser.\n  [jone]\n\n\n1.5.3 (2014-01-28)\n------------------\n\n- Fix multiple wrapping on browser.forms.\n  [jone]\n\n\n1.5.2 (2014-01-17)\n------------------\n\n- Implement archetypes datetime widget form filling.\n  [jone]\n\n\n1.5.1 (2014-01-07)\n------------------\n\n- Fix encoding problems when posting unicode data directly with Browser.open.\n  [jone]\n\n- Support form filling with bytestrings.\n  [jone]\n\n- Fix form filling with umlauts.\n  [jone]\n\n- Fix form fill for single select fields.\n  [jone]\n\n\n1.5.0 (2014-01-03)\n------------------\n\n- Implement AT file upload widget, because the label does not work.\n  [jone]\n\n- Implement file uploads.\n  [jone]\n\n- Add \"headers\" property on the browser.\n  [jone]\n\n\n1.4.0 (2013-12-27)\n------------------\n\n- Deprecate `normalized_text` method, replace it with `text` property.\n  The `text` property is more intuitive and easier to remember.\n  The `text` property has almost the same result as `normalized_text`,\n  but it represents `<br/>` and `<p>` with single and double newlines respectively.\n  `text` is to be the lxml `text` property, which contained the raw, non-recursive\n  text of the current node and is now available as `raw_text` property.\n  [jone]\n\n- open_html: make debugging file contain passed HTML.\n  [jone]\n\n- Sequence widget: implement custom form filling with label support and validation.\n  [jone]\n\n- Sequence widget: add additional properties with inputs and options.\n  [jone]\n\n\n1.3.0 (2013-12-11)\n------------------\n\n- Implement \"query\" method on autocomplete widget.\n  [jone]\n\n- Implement form fill for z3cform datetime widget.\n  [jone]\n\n- Fix setting attributes on nodes when wrapped with NodeWrapper.\n  [jone]\n\n- Implement form fill for z3cform autocomplete widgets.\n  [jone]\n\n- Implement form fill for z3cform sequence widgets.\n  [jone]\n\n- Add ``webdav`` method for doing WebDAV requests with a ZServer.\n  [jone]\n\n\n1.2.0 (2013-11-24)\n------------------\n\n- Add `open_html` method to browser object, allowing to pass in HTML directly.\n  [jone]\n\n\n1.1.0 (2013-11-07)\n------------------\n\n- Add dexterity page object, refactor z3cform page object.\n  [jone]\n\n- Add table nodes with helpers for table testing.\n  [jone]\n\n- Merging \"Nodes\" lists returns a new \"Nodes\" list, not a \"list\".\n  [jone]\n\n- Show containing elements in string representation of \"Nodes\" list.\n  [jone]\n\n- Fix direct child selection with CSS (node.css(\">tag\")).\n  [jone]\n\n- Add a ``recursive`` option to ``normalized_text``.\n  [jone]\n\n\n1.0.2 (2013-10-31)\n------------------\n\n- When normalizing whitespaces, do also replace non-breaking spaces.\n  [jone]\n\n\n1.0.1 (2013-10-31)\n------------------\n\n- Add ``first_or_none`` property to ``Nodes``.\n  [jone]\n\n\n1.0.0 (2013-10-28)\n------------------\n\n- Initial implementation.\n  [jone]", 
    "lcname": "ftw.testbrowser", 
    "bugtrack_url": "https://github.com/4teamwork/ftw.testbrowser/issues", 
    "github": true, 
    "coveralls": false, 
    "name": "ftw.testbrowser", 
    "license": "GPL2", 
    "travis_ci": false, 
    "github_project": "ftw.testbrowser", 
    "summary": "A test browser for Zope and Plone.", 
    "split_keywords": [
        "ftw", 
        "browser", 
        "testbrowser", 
        "test"
    ], 
    "author_email": "mailto:info@4teamwork.ch", 
    "urls": [
        {
            "has_sig": false, 
            "upload_time": "2017-12-04T12:04:57", 
            "comment_text": "", 
            "python_version": "source", 
            "url": "https://pypi.python.org/packages/bb/46/ca1a4713d74d1309101556128ef5f291477d2c5122b5af1354cbe6b0dc8a/ftw.testbrowser-1.29.5.tar.gz", 
            "md5_digest": "2c1602c5569764c553436bf9f81a7364", 
            "downloads": 0, 
            "filename": "ftw.testbrowser-1.29.5.tar.gz", 
            "packagetype": "sdist", 
            "path": "bb/46/ca1a4713d74d1309101556128ef5f291477d2c5122b5af1354cbe6b0dc8a/ftw.testbrowser-1.29.5.tar.gz", 
            "size": 112753
        }
    ], 
    "_id": null, 
    "cheesecake_installability_id": null
}