Python unittest test suite for Robot Framework
==============================================
This is an experimental package
for wrapping Robot Framework test suites into Python unittest suites
to make it possible to run Robot Framework tests
as `plone.testing`_'s layered test suites:
.. code:: python
import unittest
from plone.testing import layered
from robotsuite import RobotTestSuite
from my_package.testing import ACCEPTANCE_TESTING
def test_suite():
suite = unittest.TestSuite()
suite.addTests([
layered(RobotTestSuite('mysuite.txt'),
layer=ACCEPTANCE_TESTING),
])
return suite
*RobotTestSuite* splits Robot Framework test suites into separate
unittest test cases so that Robot will be run once for every test
case in every test suite parsed from the given Robot Framework
test suite.
Because of that, each Robot will generate a separate test report
for each test.
Each report will have it's own folder,
which are created recursively
reflecting the structure of the given test suite.
*RobotTestSuite*'s way of wrapping tests into
unittest's test suite is similar to how doctest-module's
DocTestSuite does its wrappings.
See the documentation of DocTestSuite for
possible common parameters (e.g. for how to pass a test suite from a
different package).
The main motivation behind this package is to make
Robot Framework support existing test fixtures and test isolation
when testing `Plone`_.
Yet, this should help anyone wanting to use Robot Framework with
`zope.testrunner`_ or other Python unittest compatible test runner.
.. _plone.testing: http://pypi.python.org/pypi/plone.testing
.. _zope.testrunner: http://pypi.python.org/pypi/zope.testrunner
.. _Plone: http://pypi.python.org/pypi/Plone
If this works for you, please contribute at:
http://github.com/collective/robotsuite/
.. image:: https://github.com/collective/robotsuite/actions/workflows/build.yml/badge.svg?branch=master
:target: https://github.com/collective/robotsuite/actions
Setting robot variables from environment variables
--------------------------------------------------
Robot Framework supports overriding test variables from command-line, which
is not-available when running tests as robotsuite-wrapped with other test
runners. That's why robotsuite supports settings variables as environment
variables so that every ``ROBOT_``-prefixed environment variable will be
mapped into corresponding test variable without the ``ROBOT_``-prefix.
Declaring tests non-critical by given set of tags
-------------------------------------------------
.. note:: Criticality is no-longer supported in Robot Framework >= 4.0 and has been
replaced with SKIP status. Robotsuite does not take a stance on SKIP status yet.
Robot Framework supports declaring tests with given tags as *non-critical*
to prevent their failing to fail the complete build on CI. This is supported
as keyword argument for *RobotTestSuite* as follows:
.. code:: python
def test_suite():
suite = unittest.TestSuite()
suite.addTests([
layered(RobotTestSuite('mysuite.txt',
noncritical=['non-critical-tag']),
layer=ACCEPTANCE_TESTING),
])
return suite
Setting zope.testrunner-level
-----------------------------
`zope.testrunner`_ supports annotating test suites with levels to avoid
slow test being run unless wanted:
.. code:: python
def test_suite():
suite = unittest.TestSuite()
suite.addTests([
layered(RobotTestSuite('mysuite.txt'),
layer=ACCEPTANCE_TESTING),
])
suite.level = 10
return suite
Retry failing tests
-------------------
You can retry a failed test.
This can be useful for flaky robot browser tests.
Warning: this may not be good for all types of test.
For example any changes that were done in the test until the first failure, may persist.
You can enable retries in two ways:
- Set an environment variable ``ROBOTSUITE_RETRY_COUNT=X``.
- Override this by passing ``retry_count=X`` to a ``RobotTestSuite`` call.
The default is zero: no retries.
The retry count *excludes* the original try.
.. code:: python
def test_suite():
suite = unittest.TestSuite()
suite.addTests([
robotsuite.RobotTestSuite('test_example.robot', retry_count=3),
robotsuite.RobotTestSuite('test_variables.robot'),
robotsuite.RobotTestSuite('test_setups', retry_count=2)
])
return suite
Appending test results to existing test report
----------------------------------------------
When running Robot Framework through robotsuite, its test reports are created
into the current working directory with filenames ``robot_output.xml``,
``robot_log.html`` and ``robot_report.html``. The default behavior is to
override the existing ``robot_output.xml`` (and also the other report files
generated from that).
To merge test results from separate test runs into the same test report, set
environment variable ``ROBOTSUITE_APPEND_OUTPUT_XML=1`` to prevent robotsuite
from overriding the existing test results, but to always append to the existing
``robot_output.xml``.
Filtering test execution errors
-------------------------------
Set environment variable ``ROBOTSUITE_LOGLEVEL=ERROR`` to filter all top level
*Test Execution Errors* below the given log level (e.g. ERROR) from the merged
test report. This is useful when unnecessary warnings are leaking from the
tested code into Robot Framework logs.
Including or skipping all RobotTestSuite-wrapped tests
------------------------------------------------------
Robot Framework is often used with Selenium2Library_ to write acceptance test
using the Selenium-framework. Yet, because those test may be slow to run, one
might want sometimes (e.g. on CI) to run everything except the robotsuite
wrapped tests, and later only the robotsuite wrapped tests.
This can be achieved for sure, with injecting a custom string into the names
of robotsuite-wrapped tests with ``ROBOTSUITE_PREFIX``-environment variable
and then filter the test with that string.
E.g. run everything except the robotsuite wrapped tests with:
.. code:: bash
$ ROBOTSUITE_PREFIX=ROBOTSUITE bin/test --all -t \!ROBOTSUITE
and the other way around with:
.. code:: bash
$ ROBOTSUITE_PREFIX=ROBOTSUITE bin/test --all -t ROBOTSUITE
.. _Selenium2Library: https://pypi.python.org/pypi/robotframework-selenium2library
Re-using test suites from other packages
----------------------------------------
Sometime it could be useful to re-use acceptance test from some upstream
package to test your slightly tailored package (e.g. with a custom theme).
This can be done with by defining the test lookup location with
``package``-keyword argment for ``RobotTestSuite``:
.. code:: python
def test_suite():
suite = unittest.TestSuite()
suite.addTests([
layered(leveled(
robotsuite.RobotTestSuite('robot',
package='Products.CMFPlone.tests'),
), layer=PLONE_APP_MOSAIC_NO_PAC_ROBOT),
])
return suite
Changelog
=========
2.3.2 (2023-09-09)
------------------
- Fix to support screenshots / images below sub directories
[datakurre]
2.3.1 (2022-05-23)
------------------
- Let tests be critical by default.
Fixes `Plone issue 3537 <https://github.com/plone/Products.CMFPlone/issues/3537>`_. [maurits]
2.3.0 (2022-05-02)
------------------
- Add support for RF 4 and RF 5
[Asko Soukka]
- Drop support in criticality witH RF 4 or later
[Asko Soukka]
- Restore support for RF 3.2
[Asko Soukka]
2.2.1 (2020-02-14)
------------------
- Revert support for Robot Framework 3.2b1 due to observee
regression between 2.0.0 and 2.1.1
[datakurre]
2.1.1 (2020-02-13)
------------------
- Add to release as universal wheel
[datakurre]
2.1.0 (2020-02-13)
------------------
- Add optional support for retrying a failed test.
Set environment variable ``ROBOTSUITE_RETRY_COUNT=X``.
Or override this by passing ``retry_count=X`` to a ``RobotTestSuite`` call.
Default is zero: no retries. The retry count *excludes* the original try.
[maurits]
- Add support for Robot Framework 3.2b1
[datakurre]
- Drop robotframework-python3 requirement,
robotframework itself is already python 3 compatible.
[gforcada]
2.0.0 (2016-12-22)
------------------
- Do not support python 2.6 anymore
[gforcada]
- Remove unittest2 references
[gforcada]
1.7.0 (2015-07-23)
------------------
- Add support for Robot Framework 2.9
[datakurre]
1.6.1 (2014-10-01)
------------------
- Add ROBOTSUITE_LOGLEVEL environment variable for filtering text execution
errors during log merge
[datakurre]
1.6.0 (2014-06-29)
------------------
- Add support for ROBOTSUITE_PREFIX-env for injecting custom string into all
robotsuite test names
[datakurre]
- Add UTF-8 support for robot variables [#6]
[Tom Gross]
[Vincent Fretin]
- Added Python 3.4 support
[Vincent Fretin]
1.5.0 (2014-04-13)
------------------
- Restore original behavior to override the exiting robot_output.xml. Set
environment variable ROBOTSUITE_APPEND_OUTPUT_XML=1 to append test results to
the existing robot_output.xml.
[datakurre]
1.4.3 (2014-01-27)
------------------
- Fix issue where test suites with sub-suites were not supported
[datakurre]
1.4.2 (2013-11-22)
------------------
- Fix issue where suite setups were run for suites without tests
wit robotframework >= 2.8.0
[datakurre]
1.4.1 (2013-10-13)
------------------
- Fix regression in 1.4.0, which dropped relative path names from robot test
cases
[datakurre]
- Fix RobotTestCase to mimic DocTestCase enough to allow plone.testing to set
'layer' for it
[datakurre]
- Fix to set given test 'setUp' and 'tearDown' methods properly as
instancemethods (will break existing methods not accepting 'self' parameters)
[datakurre]
1.4.0 (2013-06-19)
------------------
- Supports only roboframework >= 2.8.
Use robotsuite 1.3.x with robotframework 1.7.x
[datakurre]
1.3.3 (2013-06-05)
------------------
- Fix to support custom screenshot filenames with paths [fix #2]
[datakurre]
1.3.2 (2013-06-03)
------------------
- Remove screenshot capturing from functional test
[datakurre]
1.3.1 (2013-06-03)
------------------
- Pin robotframework < 2.8rc1, because robotsuite is not yet
compatible with robotframework 2.8.x
[datakurre]
1.3.0 (2013-04-09)
------------------
- Allow passing arguments critical/noncritical
to only raise an AssertionError if the test is critical
[reinhardt]
1.2.2 (2013-04-08)
------------------
- Fix to copy all screenshots (not only selenium-screenshot\*.png) when mergin
test reports
1.2.1 (2013-03-08)
------------------
- Revert setting the default zope.testrunner level and support setting it via
environment variable ROBOTSUITE_LEVEL (e.g. ROBOTSUITE_LEVEL=2).
1.2.0 (2013-03-08)
------------------
- Override test suite __module__ test case id() to support
collective.xmltestreport
- Add support for zope.testrunner test suite levels (with default value of 2 to
allow easily to run all but robot tests with zope.testrunner
1.1.0 (2013-02-20)
------------------
- Change of behavior to not remove existing ``robot_output.xml``, but always
just merge new test data into it. ``robot_output.xml`` can be reseted by
deleting it manually between tests.
1.0.4 (2013-02-19)
------------------
- Fix issue in merging of test reports from tests form two or more separate
test suites
1.0.3 (2013-02-18)
------------------
- Fix the example test to read ZSERVER_PORT -environment variable properly
1.0.2 (2013-02-09)
------------------
- Fix to replace spaces in test report folder names
1.0.1 (2013-02-09)
------------------
- Add newline before stdout dump on failing tests
1.0.0 (2013-02-08)
------------------
- Stop replacing spaces with underscores in testnames
0.9.0 (2012-09-21)
------------------
- Added injecting logged errors into captured stdout to be dumped with robot
output when a test fails.
0.8.0 (2012-09-13)
------------------
- Added support for setting pybot cli-variables from ROBOT\_-prefixed
environment variables.
0.7.0 (2012-09-11)
------------------
- Implemented custom merge for Robot Framework reports to create better
concatenated test report and fully support Robot Framework plugin for
Jenkins.
- Fixed to copy (selenium-)screenshots into the root test directory to
make it easier to publish them in Jenkins.
0.6.0 (2012-08-21)
------------------
- Fixed screenshot paths in concatenated report.
- Fixed test names to include suite filename instead of classname.
- Fixed to allow dash in normalized test names.
0.5.0 (2012-07-23)
------------------
- Included robotframework test tags as part of tests' string representation
to allow test be filtered with tags (e.g. with `zope.testrunner`_).
- Added creation of concatenated log file.
0.4.0 (2012-06-04)
------------------
- Fixed to rename test method of each test after the actual robot framework
test run by the test case.
0.3.1 (2012-06-03)
------------------
- Updated README.
0.3.0 (2012-06-03)
------------------
- Enabled robotframework reports for tests. Each test suite and each test
will have their own outputdir, recursively.
0.2.0 (2012-06-02)
------------------
- Support for directories as (recursive) suites.
0.1.0 (2012-05-30)
------------------
- Proof of concept.
Raw data
{
"_id": null,
"home_page": "https://github.com/collective/robotsuite/",
"name": "robotsuite",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "sphinx,extension,http,rest,documentation",
"author": "Asko Soukka",
"author_email": "asko.soukka@iki.fi",
"download_url": "https://files.pythonhosted.org/packages/9f/a8/893b6615c3d72583394731166217184334624cd09c78516d7a56f08951da/robotsuite-2.3.2.tar.gz",
"platform": null,
"description": "Python unittest test suite for Robot Framework\n==============================================\n\nThis is an experimental package\nfor wrapping Robot Framework test suites into Python unittest suites\nto make it possible to run Robot Framework tests\nas `plone.testing`_'s layered test suites:\n\n.. code:: python\n\n import unittest\n\n from plone.testing import layered\n from robotsuite import RobotTestSuite\n\n from my_package.testing import ACCEPTANCE_TESTING\n\n\n def test_suite():\n suite = unittest.TestSuite()\n suite.addTests([\n layered(RobotTestSuite('mysuite.txt'),\n layer=ACCEPTANCE_TESTING),\n ])\n return suite\n\n*RobotTestSuite* splits Robot Framework test suites into separate\nunittest test cases so that Robot will be run once for every test\ncase in every test suite parsed from the given Robot Framework\ntest suite.\nBecause of that, each Robot will generate a separate test report\nfor each test.\nEach report will have it's own folder,\nwhich are created recursively\nreflecting the structure of the given test suite.\n\n*RobotTestSuite*'s way of wrapping tests into\nunittest's test suite is similar to how doctest-module's\nDocTestSuite does its wrappings.\nSee the documentation of DocTestSuite for\npossible common parameters (e.g. for how to pass a test suite from a\ndifferent package).\n\nThe main motivation behind this package is to make\nRobot Framework support existing test fixtures and test isolation\nwhen testing `Plone`_.\nYet, this should help anyone wanting to use Robot Framework with\n`zope.testrunner`_ or other Python unittest compatible test runner.\n\n.. _plone.testing: http://pypi.python.org/pypi/plone.testing\n.. _zope.testrunner: http://pypi.python.org/pypi/zope.testrunner\n.. _Plone: http://pypi.python.org/pypi/Plone\n\nIf this works for you, please contribute at:\nhttp://github.com/collective/robotsuite/\n\n.. image:: https://github.com/collective/robotsuite/actions/workflows/build.yml/badge.svg?branch=master\n :target: https://github.com/collective/robotsuite/actions\n\n\nSetting robot variables from environment variables\n--------------------------------------------------\n\nRobot Framework supports overriding test variables from command-line, which\nis not-available when running tests as robotsuite-wrapped with other test\nrunners. That's why robotsuite supports settings variables as environment\nvariables so that every ``ROBOT_``-prefixed environment variable will be\nmapped into corresponding test variable without the ``ROBOT_``-prefix.\n\n\nDeclaring tests non-critical by given set of tags\n-------------------------------------------------\n\n.. note:: Criticality is no-longer supported in Robot Framework >= 4.0 and has been\n replaced with SKIP status. Robotsuite does not take a stance on SKIP status yet.\n\nRobot Framework supports declaring tests with given tags as *non-critical*\nto prevent their failing to fail the complete build on CI. This is supported\nas keyword argument for *RobotTestSuite* as follows:\n\n.. code:: python\n\n def test_suite():\n suite = unittest.TestSuite()\n suite.addTests([\n layered(RobotTestSuite('mysuite.txt',\n noncritical=['non-critical-tag']),\n layer=ACCEPTANCE_TESTING),\n ])\n return suite\n\n\nSetting zope.testrunner-level\n-----------------------------\n\n`zope.testrunner`_ supports annotating test suites with levels to avoid\nslow test being run unless wanted:\n\n.. code:: python\n\n def test_suite():\n suite = unittest.TestSuite()\n suite.addTests([\n layered(RobotTestSuite('mysuite.txt'),\n layer=ACCEPTANCE_TESTING),\n ])\n suite.level = 10\n return suite\n\n\nRetry failing tests\n-------------------\n\nYou can retry a failed test.\nThis can be useful for flaky robot browser tests.\nWarning: this may not be good for all types of test.\nFor example any changes that were done in the test until the first failure, may persist.\n\nYou can enable retries in two ways:\n\n- Set an environment variable ``ROBOTSUITE_RETRY_COUNT=X``.\n\n- Override this by passing ``retry_count=X`` to a ``RobotTestSuite`` call.\n\nThe default is zero: no retries.\nThe retry count *excludes* the original try.\n\n.. code:: python\n\n def test_suite():\n suite = unittest.TestSuite()\n suite.addTests([\n robotsuite.RobotTestSuite('test_example.robot', retry_count=3),\n robotsuite.RobotTestSuite('test_variables.robot'),\n robotsuite.RobotTestSuite('test_setups', retry_count=2)\n ])\n return suite\n\n\nAppending test results to existing test report\n----------------------------------------------\n\nWhen running Robot Framework through robotsuite, its test reports are created\ninto the current working directory with filenames ``robot_output.xml``,\n``robot_log.html`` and ``robot_report.html``. The default behavior is to\noverride the existing ``robot_output.xml`` (and also the other report files\ngenerated from that).\n\nTo merge test results from separate test runs into the same test report, set\nenvironment variable ``ROBOTSUITE_APPEND_OUTPUT_XML=1`` to prevent robotsuite\nfrom overriding the existing test results, but to always append to the existing\n``robot_output.xml``.\n\n\nFiltering test execution errors\n-------------------------------\n\nSet environment variable ``ROBOTSUITE_LOGLEVEL=ERROR`` to filter all top level\n*Test Execution Errors* below the given log level (e.g. ERROR) from the merged\ntest report. This is useful when unnecessary warnings are leaking from the\ntested code into Robot Framework logs.\n\n\nIncluding or skipping all RobotTestSuite-wrapped tests\n------------------------------------------------------\n\nRobot Framework is often used with Selenium2Library_ to write acceptance test\nusing the Selenium-framework. Yet, because those test may be slow to run, one\nmight want sometimes (e.g. on CI) to run everything except the robotsuite\nwrapped tests, and later only the robotsuite wrapped tests.\n\nThis can be achieved for sure, with injecting a custom string into the names\nof robotsuite-wrapped tests with ``ROBOTSUITE_PREFIX``-environment variable\nand then filter the test with that string.\n\nE.g. run everything except the robotsuite wrapped tests with:\n\n.. code:: bash\n\n $ ROBOTSUITE_PREFIX=ROBOTSUITE bin/test --all -t \\!ROBOTSUITE\n\nand the other way around with:\n\n.. code:: bash\n\n $ ROBOTSUITE_PREFIX=ROBOTSUITE bin/test --all -t ROBOTSUITE\n\n.. _Selenium2Library: https://pypi.python.org/pypi/robotframework-selenium2library\n\n\n\nRe-using test suites from other packages\n----------------------------------------\n\nSometime it could be useful to re-use acceptance test from some upstream\npackage to test your slightly tailored package (e.g. with a custom theme).\nThis can be done with by defining the test lookup location with\n``package``-keyword argment for ``RobotTestSuite``:\n\n.. code:: python\n\n def test_suite():\n suite = unittest.TestSuite()\n suite.addTests([\n layered(leveled(\n robotsuite.RobotTestSuite('robot',\n package='Products.CMFPlone.tests'),\n ), layer=PLONE_APP_MOSAIC_NO_PAC_ROBOT),\n ])\n return suite\n\nChangelog\n=========\n\n2.3.2 (2023-09-09)\n------------------\n\n- Fix to support screenshots / images below sub directories\n [datakurre]\n\n2.3.1 (2022-05-23)\n------------------\n\n- Let tests be critical by default.\n Fixes `Plone issue 3537 <https://github.com/plone/Products.CMFPlone/issues/3537>`_. [maurits]\n\n\n2.3.0 (2022-05-02)\n------------------\n\n- Add support for RF 4 and RF 5\n [Asko Soukka]\n- Drop support in criticality witH RF 4 or later\n [Asko Soukka]\n- Restore support for RF 3.2\n [Asko Soukka]\n\n2.2.1 (2020-02-14)\n------------------\n\n- Revert support for Robot Framework 3.2b1 due to observee\n regression between 2.0.0 and 2.1.1\n [datakurre]\n\n2.1.1 (2020-02-13)\n------------------\n\n- Add to release as universal wheel\n [datakurre]\n\n2.1.0 (2020-02-13)\n------------------\n\n- Add optional support for retrying a failed test.\n Set environment variable ``ROBOTSUITE_RETRY_COUNT=X``.\n Or override this by passing ``retry_count=X`` to a ``RobotTestSuite`` call.\n Default is zero: no retries. The retry count *excludes* the original try.\n [maurits]\n\n- Add support for Robot Framework 3.2b1\n [datakurre]\n\n- Drop robotframework-python3 requirement,\n robotframework itself is already python 3 compatible.\n [gforcada]\n\n2.0.0 (2016-12-22)\n------------------\n\n- Do not support python 2.6 anymore\n [gforcada]\n\n- Remove unittest2 references\n [gforcada]\n\n1.7.0 (2015-07-23)\n------------------\n\n- Add support for Robot Framework 2.9\n [datakurre]\n\n1.6.1 (2014-10-01)\n------------------\n\n- Add ROBOTSUITE_LOGLEVEL environment variable for filtering text execution\n errors during log merge\n [datakurre]\n\n1.6.0 (2014-06-29)\n------------------\n\n- Add support for ROBOTSUITE_PREFIX-env for injecting custom string into all\n robotsuite test names\n [datakurre]\n- Add UTF-8 support for robot variables [#6]\n [Tom Gross]\n [Vincent Fretin]\n- Added Python 3.4 support\n [Vincent Fretin]\n\n\n1.5.0 (2014-04-13)\n------------------\n\n- Restore original behavior to override the exiting robot_output.xml. Set\n environment variable ROBOTSUITE_APPEND_OUTPUT_XML=1 to append test results to\n the existing robot_output.xml.\n [datakurre]\n\n1.4.3 (2014-01-27)\n------------------\n\n- Fix issue where test suites with sub-suites were not supported\n [datakurre]\n\n1.4.2 (2013-11-22)\n------------------\n\n- Fix issue where suite setups were run for suites without tests\n wit robotframework >= 2.8.0\n [datakurre]\n\n1.4.1 (2013-10-13)\n------------------\n\n- Fix regression in 1.4.0, which dropped relative path names from robot test\n cases\n [datakurre]\n- Fix RobotTestCase to mimic DocTestCase enough to allow plone.testing to set\n 'layer' for it\n [datakurre]\n- Fix to set given test 'setUp' and 'tearDown' methods properly as\n instancemethods (will break existing methods not accepting 'self' parameters)\n [datakurre]\n\n1.4.0 (2013-06-19)\n------------------\n\n- Supports only roboframework >= 2.8.\n Use robotsuite 1.3.x with robotframework 1.7.x\n [datakurre]\n\n1.3.3 (2013-06-05)\n------------------\n\n- Fix to support custom screenshot filenames with paths [fix #2]\n [datakurre]\n\n1.3.2 (2013-06-03)\n------------------\n\n- Remove screenshot capturing from functional test\n [datakurre]\n\n1.3.1 (2013-06-03)\n------------------\n\n- Pin robotframework < 2.8rc1, because robotsuite is not yet\n compatible with robotframework 2.8.x\n [datakurre]\n\n1.3.0 (2013-04-09)\n------------------\n\n- Allow passing arguments critical/noncritical\n to only raise an AssertionError if the test is critical\n [reinhardt]\n\n1.2.2 (2013-04-08)\n------------------\n\n- Fix to copy all screenshots (not only selenium-screenshot\\*.png) when mergin\n test reports\n\n1.2.1 (2013-03-08)\n------------------\n\n- Revert setting the default zope.testrunner level and support setting it via\n environment variable ROBOTSUITE_LEVEL (e.g. ROBOTSUITE_LEVEL=2).\n\n1.2.0 (2013-03-08)\n------------------\n\n- Override test suite __module__ test case id() to support\n collective.xmltestreport\n- Add support for zope.testrunner test suite levels (with default value of 2 to\n allow easily to run all but robot tests with zope.testrunner\n\n1.1.0 (2013-02-20)\n------------------\n\n- Change of behavior to not remove existing ``robot_output.xml``, but always\n just merge new test data into it. ``robot_output.xml`` can be reseted by\n deleting it manually between tests.\n\n1.0.4 (2013-02-19)\n------------------\n\n- Fix issue in merging of test reports from tests form two or more separate\n test suites\n\n1.0.3 (2013-02-18)\n------------------\n\n- Fix the example test to read ZSERVER_PORT -environment variable properly\n\n1.0.2 (2013-02-09)\n------------------\n\n- Fix to replace spaces in test report folder names\n\n1.0.1 (2013-02-09)\n------------------\n\n- Add newline before stdout dump on failing tests\n\n1.0.0 (2013-02-08)\n------------------\n\n- Stop replacing spaces with underscores in testnames\n\n0.9.0 (2012-09-21)\n------------------\n\n- Added injecting logged errors into captured stdout to be dumped with robot\n output when a test fails.\n\n0.8.0 (2012-09-13)\n------------------\n\n- Added support for setting pybot cli-variables from ROBOT\\_-prefixed\n environment variables.\n\n0.7.0 (2012-09-11)\n------------------\n\n- Implemented custom merge for Robot Framework reports to create better\n concatenated test report and fully support Robot Framework plugin for\n Jenkins.\n- Fixed to copy (selenium-)screenshots into the root test directory to\n make it easier to publish them in Jenkins.\n\n0.6.0 (2012-08-21)\n------------------\n\n- Fixed screenshot paths in concatenated report.\n- Fixed test names to include suite filename instead of classname.\n- Fixed to allow dash in normalized test names.\n\n0.5.0 (2012-07-23)\n------------------\n\n- Included robotframework test tags as part of tests' string representation\n to allow test be filtered with tags (e.g. with `zope.testrunner`_).\n- Added creation of concatenated log file.\n\n0.4.0 (2012-06-04)\n------------------\n\n- Fixed to rename test method of each test after the actual robot framework\n test run by the test case.\n\n0.3.1 (2012-06-03)\n------------------\n\n- Updated README.\n\n0.3.0 (2012-06-03)\n------------------\n\n- Enabled robotframework reports for tests. Each test suite and each test\n will have their own outputdir, recursively.\n\n0.2.0 (2012-06-02)\n------------------\n\n- Support for directories as (recursive) suites.\n\n0.1.0 (2012-05-30)\n------------------\n\n- Proof of concept.\n\n\n",
"bugtrack_url": null,
"license": "GPL version 2",
"summary": "Robot Framework test suite for Python unittest framework",
"version": "2.3.2",
"project_urls": {
"Homepage": "https://github.com/collective/robotsuite/"
},
"split_keywords": [
"sphinx",
"extension",
"http",
"rest",
"documentation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a88a7ff8c565c636e41a3a21d260910b2ae01d11e259bdffd6996c7fcb1f5af0",
"md5": "f1006c5bf3581076feee5c172fe347da",
"sha256": "c3545fc0e19e1c71cf49a4aef77d0e648ca2544c5775fbe4cd704560d7246427"
},
"downloads": -1,
"filename": "robotsuite-2.3.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "f1006c5bf3581076feee5c172fe347da",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 19035,
"upload_time": "2023-09-09T18:34:20",
"upload_time_iso_8601": "2023-09-09T18:34:20.950348Z",
"url": "https://files.pythonhosted.org/packages/a8/8a/7ff8c565c636e41a3a21d260910b2ae01d11e259bdffd6996c7fcb1f5af0/robotsuite-2.3.2-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9fa8893b6615c3d72583394731166217184334624cd09c78516d7a56f08951da",
"md5": "d0048e79e207ff389d654bfbf20192dd",
"sha256": "b0f98ea11e4afa031fc8f93640c6e20cd9963d172a2abb33e993c100a47fdd76"
},
"downloads": -1,
"filename": "robotsuite-2.3.2.tar.gz",
"has_sig": false,
"md5_digest": "d0048e79e207ff389d654bfbf20192dd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30546,
"upload_time": "2023-09-09T18:34:23",
"upload_time_iso_8601": "2023-09-09T18:34:23.409302Z",
"url": "https://files.pythonhosted.org/packages/9f/a8/893b6615c3d72583394731166217184334624cd09c78516d7a56f08951da/robotsuite-2.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-09 18:34:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "collective",
"github_project": "robotsuite",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "robotsuite"
}