Agent for Reporting results of tests to the Report Portal
Project description
===================
agent-python-pytest
===================
**Important:** this is BETA2 version. Please post issue in case if any found
Pytest plugin for reporting test results of Pytest to the 'Reportal Portal'.
Usage
-----
Installation
~~~~~~~~~~~~
To install pytest plugin execute next command in a terminal:
.. code-block:: bash
pip install pytest-reportportal
Configuration
~~~~~~~~~~~~~
Prepare the config file :code:`pytest.ini` in root directory of tests or specify
any one using pytest command line option:
.. code-block:: bash
py.test -c config.cfg
The :code:`pytest.ini` file should have next mandatory fields:
- :code:`rp_uuid` - value could be found in the User Profile section
- :code:`rp_project` - name of project in Report Potal
- :code:`rp_endpoint` - address of Report Portal Server
Example of :code:`pytest.ini`:
.. code-block:: text
[pytest]
rp_uuid = fb586627-32be-47dd-93c1-678873458a5f
rp_endpoint = http://192.168.1.10:8080
rp_project = user_personal
rp_launch = AnyLaunchName
rp_launch_tags = 'PyTest' 'Smoke'
rp_launch_description = 'Smoke test'
rp_ignore_errors = True
rp_ignore_tags = 'xfail' 'usefixture'
The following parameters are optional:
- :code:`rp_launch = AnyLaunchName` - launch name (could be overridden
by pytest --rp-launch option, default value is 'Pytest Launch')
- :code:`rp_launch_tags = 'PyTest' 'Smoke'` - list of tags
- :code:`rp_launch_description = 'Smoke test'` - launch description (could be overridden
by pytest --rp-launch-description option, default value is '')
- :code:`rp_log_batch_size = 20` - size of batch log request
- :code:`rp_ignore_errors = True` - Ignore Report Portal errors (exit otherwise)
- :code:`rp_ignore_tags = 'xfail' 'usefixture'` - Ignore specified pytest markers
Examples
~~~~~~~~
For logging of the test item flow to Report Portal, please, use the python
logging handler provided by plugin like bellow:
in conftest.py:
.. code-block:: python
@pytest.fixture(scope="function")
def rp_logger(request):
import logging
# Import Report Portal logger and handler to the test module.
from pytest_reportportal import RPLogger, RPLogHandler
# Setting up a logging.
logging.setLoggerClass(RPLogger)
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
# Create handler for Report Portal.
rp_handler = RPLogHandler(request.node.config.py_test_service)
# Set INFO level for Report Portal handler.
rp_handler.setLevel(logging.INFO)
# Add handler to the logger.
logger.addHandler(rp_handler)
return logger
in tests:
.. code-block:: python
# In this case only INFO messages will be sent to the Report Portal.
def test_one(rp_logger):
rp_logger.info("Case1. Step1")
x = "this"
rp_logger.info("x is: %s", x)
assert 'h' in x
# Message with an attachment.
import subprocess
free_memory = subprocess.check_output("free -h".split())
rp_logger.info(
"Case1. Memory consumption",
attachment={
"name": "free_memory.txt",
"data": free_memory,
"mime": "application/octet-stream",
},
)
# This debug message will not be sent to the Report Portal.
rp_logger.debug("Case1. Debug message")
Plugin can report doc-strings of tests as :code:`descriptions`:
.. code-block:: python
def test_one():
"""
Description of the test case which will be sent to Report Portal
"""
pass
Pytest markers will be attached as :code:`tags` to Report Portal items.
In the following example tags 'linux' and 'win32' will be used:
.. code-block:: python
import pytest
@pytest.mark.win32
@pytest.mark.linux
def test_one():
pass
If you don't want to attach specific markers, list them in :code:`rp_ignore_tags` parameter
Launching
~~~~~~~~~
To run test with Report Portal you can specify name of :code:`launch`:
.. code-block:: bash
py.test ./tests --rp-launch AnyLaunchName
Troubleshooting
~~~~~~~~~
In case you have connectivity issues (or similar problems) with Report Portal,
it's possible to ignore exceptions raised by :code:`pytest_reportportal` plugin.
For this, please, add following option to :code:`pytest.ini` configuration file.
.. code-block:: text
[pytest]
...
rp_ignore_errors = True
With option above all exceptions raised by Report Portal will be printed out to
`stderr` without causing test failures.
If you would like to temporary disable integrations with Report Portal just
deactivate :code:`pytest_reportportal` plugin with command like:
.. code-block:: bash
py.test -p no:pytest_reportportal ./tests
Copyright Notice
----------------
Licensed under the GPLv3_ license (see the LICENSE file).
.. _GPLv3: https://www.gnu.org/licenses/quick-guide-gplv3.html
agent-python-pytest
===================
**Important:** this is BETA2 version. Please post issue in case if any found
Pytest plugin for reporting test results of Pytest to the 'Reportal Portal'.
Usage
-----
Installation
~~~~~~~~~~~~
To install pytest plugin execute next command in a terminal:
.. code-block:: bash
pip install pytest-reportportal
Configuration
~~~~~~~~~~~~~
Prepare the config file :code:`pytest.ini` in root directory of tests or specify
any one using pytest command line option:
.. code-block:: bash
py.test -c config.cfg
The :code:`pytest.ini` file should have next mandatory fields:
- :code:`rp_uuid` - value could be found in the User Profile section
- :code:`rp_project` - name of project in Report Potal
- :code:`rp_endpoint` - address of Report Portal Server
Example of :code:`pytest.ini`:
.. code-block:: text
[pytest]
rp_uuid = fb586627-32be-47dd-93c1-678873458a5f
rp_endpoint = http://192.168.1.10:8080
rp_project = user_personal
rp_launch = AnyLaunchName
rp_launch_tags = 'PyTest' 'Smoke'
rp_launch_description = 'Smoke test'
rp_ignore_errors = True
rp_ignore_tags = 'xfail' 'usefixture'
The following parameters are optional:
- :code:`rp_launch = AnyLaunchName` - launch name (could be overridden
by pytest --rp-launch option, default value is 'Pytest Launch')
- :code:`rp_launch_tags = 'PyTest' 'Smoke'` - list of tags
- :code:`rp_launch_description = 'Smoke test'` - launch description (could be overridden
by pytest --rp-launch-description option, default value is '')
- :code:`rp_log_batch_size = 20` - size of batch log request
- :code:`rp_ignore_errors = True` - Ignore Report Portal errors (exit otherwise)
- :code:`rp_ignore_tags = 'xfail' 'usefixture'` - Ignore specified pytest markers
Examples
~~~~~~~~
For logging of the test item flow to Report Portal, please, use the python
logging handler provided by plugin like bellow:
in conftest.py:
.. code-block:: python
@pytest.fixture(scope="function")
def rp_logger(request):
import logging
# Import Report Portal logger and handler to the test module.
from pytest_reportportal import RPLogger, RPLogHandler
# Setting up a logging.
logging.setLoggerClass(RPLogger)
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
# Create handler for Report Portal.
rp_handler = RPLogHandler(request.node.config.py_test_service)
# Set INFO level for Report Portal handler.
rp_handler.setLevel(logging.INFO)
# Add handler to the logger.
logger.addHandler(rp_handler)
return logger
in tests:
.. code-block:: python
# In this case only INFO messages will be sent to the Report Portal.
def test_one(rp_logger):
rp_logger.info("Case1. Step1")
x = "this"
rp_logger.info("x is: %s", x)
assert 'h' in x
# Message with an attachment.
import subprocess
free_memory = subprocess.check_output("free -h".split())
rp_logger.info(
"Case1. Memory consumption",
attachment={
"name": "free_memory.txt",
"data": free_memory,
"mime": "application/octet-stream",
},
)
# This debug message will not be sent to the Report Portal.
rp_logger.debug("Case1. Debug message")
Plugin can report doc-strings of tests as :code:`descriptions`:
.. code-block:: python
def test_one():
"""
Description of the test case which will be sent to Report Portal
"""
pass
Pytest markers will be attached as :code:`tags` to Report Portal items.
In the following example tags 'linux' and 'win32' will be used:
.. code-block:: python
import pytest
@pytest.mark.win32
@pytest.mark.linux
def test_one():
pass
If you don't want to attach specific markers, list them in :code:`rp_ignore_tags` parameter
Launching
~~~~~~~~~
To run test with Report Portal you can specify name of :code:`launch`:
.. code-block:: bash
py.test ./tests --rp-launch AnyLaunchName
Troubleshooting
~~~~~~~~~
In case you have connectivity issues (or similar problems) with Report Portal,
it's possible to ignore exceptions raised by :code:`pytest_reportportal` plugin.
For this, please, add following option to :code:`pytest.ini` configuration file.
.. code-block:: text
[pytest]
...
rp_ignore_errors = True
With option above all exceptions raised by Report Portal will be printed out to
`stderr` without causing test failures.
If you would like to temporary disable integrations with Report Portal just
deactivate :code:`pytest_reportportal` plugin with command like:
.. code-block:: bash
py.test -p no:pytest_reportportal ./tests
Copyright Notice
----------------
Licensed under the GPLv3_ license (see the LICENSE file).
.. _GPLv3: https://www.gnu.org/licenses/quick-guide-gplv3.html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for pytest-reportportal-1.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70c7f2fb2a6d854299b08a46643d196efad62e52c4314a59e8fd80a24d78cd85 |
|
MD5 | 4e300755eea593741d1e275b346c2209 |
|
BLAKE2b-256 | cf65ea25e4aa38558e8c078e0a9f1a210a5aa777d934e858e63b21f055a9cda0 |
Close
Hashes for pytest_reportportal-1.0.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5857f61f25e5336e630ac5a0003b56acabb0e3fc19cd8e6e63decfd200fa9332 |
|
MD5 | 5e19248102624a9d876c4582163ae8c4 |
|
BLAKE2b-256 | 572aef226a1420eb1e54923229586b5b65ffdd4687797d7147811cfb3a5cfd63 |