diff --git a/python-zope.testbrowser.changes b/python-zope.testbrowser.changes
index bf81f5c..eea51b0 100644
--- a/python-zope.testbrowser.changes
+++ b/python-zope.testbrowser.changes
@@ -1,3 +1,75 @@
+-------------------------------------------------------------------
+Mon Aug 6 20:36:02 UTC 2018 - toddrme2178@gmail.com
+
+- Update to 5.2.4
+ * Fix form submit with GET method if the form action contains a query string
+ (https://github.com/zopefoundation/zope.testbrowser/pull/42).
+ * Restore ignoring hidden elements when searching by label
+ (https://github.com/zopefoundation/zope.testbrowser/pull/41).
+- Update to 5.2.3
+ * Fix ``mechRepr`` on controls to always return a native str
+ (https://github.com/zopefoundation/zope.testbrowser/issues/38).
+- Update to 5.2.2
+ * Restore raising of AttributeError when trying to set value of a
+ read only control.
+ * Fix selecting radio and select control options by index
+ (https://github.com/zopefoundation/zope.testbrowser/issues/31).
+- Update to 5.2.1
+ * Exclude version 2.0.27 of `WebTest` from allowed versions as it breaks some
+ tests.
+ * Adapt tests to version 2.0.28 of `WebTest` but keeping compatibility to older
+ versions.
+- Update to 5.2
+ * Fixed ``toStr`` to handle lists, for example a list of class names.
+ [maurits]
+ * Fixed browser to only follow redirects for HTTP statuses
+ 301, 302, 303, and 307; not other 30x statuses such as 304.
+ * Fix passing a real file to ``add_file``.
+ * Add ``controls`` property to Form class to list all form controls.
+ * Restore the ability to use parts of the actually displayed select box titles.
+ * Allow to set a string value instead of a list on ``Browser.displayValue``.
+ * Fix setting empty values on a select control.
+ * Support Python 3.6, PyPy2.7 an PyPy3.3.
+- Update to 5.1
+ * Alias ``.browser.urllib_request.HTTPError`` to ``.browser.HTTPError`` to have
+ a better API.
+- Update to 5.0.0
+ * Converted most doctests to Sphinx documentation, and published to
+ https://zopetestbrowser.readthedocs.io/ .
+ * Internal implementation now uses WebTest instead of ``mechanize``.
+ The ``mechanize`` dependency is completely dropped.
+ **This is a backwards-incompatible change.**
+ * Remove APIs:
+ > ``zope.testbrowser.testing.Browser`` (this is a big one).
+ * Remove modules:
+ > ``zope.testbrowser.connection``
+ * Remove internal classes you were not supposed to use anyway:
+ > ``zope.testbrowser.testing.PublisherResponse``
+ > ``zope.testbrowser.testing.PublisherConnection``
+ > ``zope.testbrowser.testing.PublisherHTTPHandler``
+ > ``zope.testbrowser.testing.PublisherMechanizeBrowser``
+ > ``zope.testbrowser.wsgi.WSGIConnection``
+ > ``zope.testbrowser.wsgi.WSGIHTTPHandler``
+ > ``zope.testbrowser.wsgi.WSGIMechanizeBrowser``
+ * Remove internal attributes you were not supposed to use anyway (this
+ list is not necessarily complete):
+ > ``Browser._mech_browser``
+ * Remove setuptools extras:
+ > ``zope.testbrowser[zope-functional-testing]``
+ * Changed behavior:
+ > The testbrowser no longer follows HTML redirects aka
+ ````. This was a `mechanize` feature which
+ does not seem to be provided by `WebTest`.
+ * Add support for Python 3.3, 3.4 and 3.5.
+ * Drop support for Python 2.5 and 2.6.
+ * Drop the ``WebTest <= 1.3.4`` pin. We require ``WebTest >= 2.0.8`` now.
+ * Remove dependency on deprecated ``zope.app.testing``.
+ * Bugfix: ``browser.getLink()`` could fail if your HTML contained ````
+ elements with no href attribute
+ (https://github.com/zopefoundation/zope.testbrowser/pull/3).
+- Implement single-spec version
+
+
-------------------------------------------------------------------
Fri May 15 13:16:56 UTC 2015 - benoit.monin@gmx.fr
diff --git a/python-zope.testbrowser.spec b/python-zope.testbrowser.spec
index dc33d50..af1cb6c 100644
--- a/python-zope.testbrowser.spec
+++ b/python-zope.testbrowser.spec
@@ -1,7 +1,7 @@
#
# spec file for package python-zope.testbrowser
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,60 +16,65 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-zope.testbrowser
-Version: 4.0.4
+Version: 5.2.4
Release: 0
Summary: Programmable browser for functional black-box tests
License: ZPL-2.1
Group: Development/Languages/Python
-Url: http://pypi.python.org/pypi/zope.testbrowser
-Source: http://pypi.python.org/packages/source/z/zope.testbrowser/zope.testbrowser-%{version}.zip
+Url: https://github.com/zopefoundation/zope.testbrowser
+Source: https://files.pythonhosted.org/packages/source/z/zope.testbrowser/zope.testbrowser-%{version}.tar.gz
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-BuildRequires: unzip
-# Test requirements:
-# BuildRequires: python-WebTest
-# BuildRequires: python-zope.testing
-# runtime requirements
-BuildRequires: python-mechanize >= 0.2.0
-BuildRequires: python-pytz
-BuildRequires: python-zope.interface
-BuildRequires: python-zope.schema
-Requires: python-mechanize >= 0.2.0
-Requires: python-pytz
+BuildRequires: python-rpm-macros
+# SECTION test requirements
+BuildRequires: %{python_module WSGIProxy2}
+BuildRequires: %{python_module WebTest >= 2.0.9}
+BuildRequires: %{python_module mock}
+BuildRequires: %{python_module pytz > dev}
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module six}
+BuildRequires: %{python_module zope.cachedescriptors}
+BuildRequires: %{python_module zope.interface}
+BuildRequires: %{python_module zope.schema}
+BuildRequires: %{python_module zope.testing}
+# /SECTION
+Requires: python-WSGIProxy2
+Requires: python-WebTest >= 2.0.9
+Requires: python-pytz > dev
+Requires: python-setuptools
+Requires: python-six
+Requires: python-zope.cachedescriptors
Requires: python-zope.interface
Requires: python-zope.schema
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
+Suggests: python-zope.testing
+Suggests: python-mock
+Suggests: python-zope.testbrowser
BuildArch: noarch
-%endif
+
+%python_subpackages
%description
-zope.testbrowser provides an easy-to-use programmable web browser
+The zope.testbrowser package provides an programmable web browser
with special focus on testing. It is used in Zope, but it's not Zope
-specific at all. For instance, it can be used to test or otherwise
-interact with any web site.
+specific. It can be used to test or otherwise interact with any web
+site.
%prep
%setup -q -n zope.testbrowser-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
-%fdupes %{buildroot}/%{_prefix}
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
-#NOTE(saschpe): Check broken doctests:
-#%%check
-#python setup.py test
-
-%files
-%defattr(-,root,root,-)
-%doc CHANGES.rst COPYRIGHT.rst LICENSE.rst README.rst
+%files %{python_files}
+%doc CHANGES.rst README.rst
+%license LICENSE.rst
%{python_sitelib}/*
%changelog
diff --git a/zope.testbrowser-4.0.4.zip b/zope.testbrowser-4.0.4.zip
deleted file mode 100644
index ecd574d..0000000
--- a/zope.testbrowser-4.0.4.zip
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8db02fdde124f1053e0da81cbefa7e8f5f375858f78c12a58afdaa88d6fecb9d
-size 102044
diff --git a/zope.testbrowser-5.2.4.tar.gz b/zope.testbrowser-5.2.4.tar.gz
new file mode 100644
index 0000000..995569f
--- /dev/null
+++ b/zope.testbrowser-5.2.4.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:119c542c1ba3134f16a8427ea1109cf74dbb092158a8d8606a09e5f96b1d0047
+size 81645