Robot Framework test suite for Python unittest framework
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:
import unittest2 as 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.
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.
If this works for you, please contribute at: http://github.com/collective/robotsuite/
- 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.
- Fixed screenshot paths in concatenated report.
- Fixed test names to include suite filename instead of classname.
- Fixed to allow dash in normalized test names.
- 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.
- Fixed to rename test method of each test after the actual robot framework test run by the test case.
- Updated README.
- Enabled robotframework reports for tests. Each test suite and each test will have their own outputdir, recursively.
- Support for directories as (recursive) suites.
- Proof of concept.