{ "info": { "author": "Pavel Papou", "author_email": "SupportEPMC-TSTReportPortal@epam.com", "bugtrack_url": null, "classifiers": [ "Framework :: Pytest", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "===================\nagent-python-pytest\n===================\n\n\n**Important:** this is BETA2 version. Please post issue in case if any found\n\nPytest plugin for reporting test results of Pytest to the 'Reportal Portal'.\n\n* Usage\n* Configuration\n* Examples\n* Launching\n* Send attachement (screenshots)\n* Troubleshooting\n* Copyright Notice\n\nUsage\n-----\n\nInstallation\n~~~~~~~~~~~~\n\nTo install pytest plugin execute next command in a terminal:\n\n.. code-block:: bash\n\n pip install pytest-reportportal\n\n\nConfiguration\n~~~~~~~~~~~~~\n\nPrepare the config file :code:`pytest.ini` in root directory of tests or specify\nany one using pytest command line option:\n\n.. code-block:: bash\n\n py.test -c config.cfg\n\n\nThe :code:`pytest.ini` file should have next mandatory fields:\n\n- :code:`rp_uuid` - value could be found in the User Profile section\n- :code:`rp_project` - name of project in Report Potal\n- :code:`rp_endpoint` - address of Report Portal Server\n\nExample of :code:`pytest.ini`:\n\n.. code-block:: text\n\n [pytest]\n rp_uuid = fb586627-32be-47dd-93c1-678873458a5f\n rp_endpoint = http://192.168.1.10:8080\n rp_project = user_personal\n rp_launch = AnyLaunchName\n rp_launch_tags = 'PyTest' 'Smoke'\n rp_launch_description = 'Smoke test'\n rp_ignore_errors = True\n rp_ignore_tags = 'xfail' 'usefixture'\n\nThe following parameters are optional:\n\n- :code:`rp_launch = AnyLaunchName` - launch name (could be overridden\n by pytest --rp-launch option, default value is 'Pytest Launch')\n- :code:`rp_launch_tags = 'PyTest' 'Smoke'` - list of tags for launch\n- :code:`rp_tests_tags = 'PyTest' 'Smoke'` - list of tags that will be added for each item in the launch\n- :code:`rp_launch_description = 'Smoke test'` - launch description (could be overridden\n by pytest --rp-launch-description option, default value is '')\n\n- :code:`rp_log_batch_size = 20` - size of batch log request\n- :code:`rp_ignore_errors = True` - Ignore Report Portal errors (exit otherwise)\n- :code:`rp_ignore_tags = 'xfail' 'usefixture'` - Ignore specified pytest markers\n- :code:`rp_hierarchy_dirs = True` - Enables hierarchy for tests directories, default `False`. Doesn't support 'xdist' plugin.\n- :code:`rp_hierarchy_module = True` - Enables hierarchy for module, default `True`. Doesn't support 'xdist' plugin.\n- :code:`rp_hierarchy_class = True` - Enables hierarchy for class, default `True`. Doesn't support 'xdist' plugin.\n- :code:`rp_hierarchy_parametrize = True` - Enables hierarchy parametrized tests, default `False`. Doesn't support 'xdist' plugin.\n- :code:`rp_hierarchy_dirs_level = 0` - Directory starting hierarchy level (from pytest.ini level) (default `0`)\n- :code:`rp_issue_marks = 'xfail' 'issue'` - Pytest marks that could be used to get issue information (id, type, reason)\n- :code:`rp_issue_system_url = http://bugzilla.some.com/show_bug.cgi?id={%issue_id}` - issue URL (issue_id will be filled by parameter from pytest mark)\n- :code:`rp_verify_ssl = True` - Verify SSL when connecting to the server\n- :code:`rp_display_suite_test_file = True` In case of True, include the suite's relative file path in the launch name as a convention of \"::\". In case of False, set the launch name to be the suite name only - this flag is relevant only when \"rp_hierarchy_module\" flag is set to False\n\n\nIf you like to override the above parameters from command line, or from CI environment based on your build, then pass\n- :code:`-o \"rp_launch_tags=Smoke Tests\"` during invocation.\n\nExamples\n~~~~~~~~\n\nFor logging of the test item flow to Report Portal, please, use the python\nlogging handler provided by plugin like bellow:\nin conftest.py:\n\n.. code-block:: python\n\n @pytest.fixture(scope=\"session\")\n def rp_logger(request):\n import logging\n logger = logging.getLogger(__name__)\n logger.setLevel(logging.DEBUG)\n # Create handler for Report Portal if the service has been\n # configured and started.\n if hasattr(request.node.config, 'py_test_service'):\n # Import Report Portal logger and handler to the test module.\n from pytest_reportportal import RPLogger, RPLogHandler\n logging.setLoggerClass(RPLogger)\n rp_handler = RPLogHandler(request.node.config.py_test_service)\n else:\n import sys\n rp_handler = logging.StreamHandler(sys.stdout)\n # Set INFO level for Report Portal handler.\n rp_handler.setLevel(logging.INFO)\n return logger\n\nin tests:\n\n.. code-block:: python\n\n # In this case only INFO messages will be sent to the Report Portal.\n def test_one(rp_logger):\n rp_logger.info(\"Case1. Step1\")\n x = \"this\"\n rp_logger.info(\"x is: %s\", x)\n assert 'h' in x\n\n # Message with an attachment.\n import subprocess\n free_memory = subprocess.check_output(\"free -h\".split())\n rp_logger.info(\n \"Case1. Memory consumption\",\n attachment={\n \"name\": \"free_memory.txt\",\n \"data\": free_memory,\n \"mime\": \"application/octet-stream\",\n },\n )\n\n # This debug message will not be sent to the Report Portal.\n rp_logger.debug(\"Case1. Debug message\")\n\nPlugin can report doc-strings of tests as :code:`descriptions`:\n\n.. code-block:: python\n\n def test_one():\n \"\"\"\n Description of the test case which will be sent to Report Portal\n \"\"\"\n pass\n\nPytest markers will be attached as :code:`tags` to Report Portal items.\nIn the following example tags 'linux' and 'win32' will be used:\n\n.. code-block:: python\n\n import pytest\n\n @pytest.mark.win32\n @pytest.mark.linux\n def test_one():\n pass\n\nIf you don't want to attach specific markers, list them in :code:`rp_ignore_tags` parameter\n\n\nLaunching\n~~~~~~~~~\n\nTo run test with Report Portal you must provide '--reportportal' flag:\n\n.. code-block:: bash\n\n py.test ./tests --reportportal\n\n\nTest issue info\n~~~~~~~~~\n\nSome pytest marks could be used to specify information about skipped or failed test result.\nList of this marks should be specified in pytest ini file (see :code:`rp_issue_marks`).\n\nThe following mark fields are used to get information about test issue:\n\n- :code:`issue_id` - issue id (or list) in tracking system. This id will be added as comment to test fail result. If URL is specified in pytest ini file (see :code:`rp_issue_system_url`), id will added as link to tracking system.\n- :code:`reason` - some comment that will be added to test fail description.\n- :code:`issue_type` - short name of RP issue type that should be assigned to failed or skipped test.\n\nExample:\n\n.. code-block:: python\n\n @pytest.mark.issue(issue_id=\"111111\", reason=\"Some bug\", issue_type=\"PB\")\n def test():\n assert False\n\n\nSend attachement (screenshots)\n----------------\n\nhttps://github.com/reportportal/client-Python#send-attachement-screenshots\n\n\n\nTroubleshooting\n~~~~~~~~~\n\nIn case you have connectivity issues (or similar problems) with Report Portal,\nit's possible to ignore exceptions raised by :code:`pytest_reportportal` plugin.\nFor this, please, add following option to :code:`pytest.ini` configuration file.\n\n.. code-block:: text\n\n [pytest]\n ...\n rp_ignore_errors = True\n\nWith option above all exceptions raised by Report Portal will be printed out to\n`stderr` without causing test failures.\n\nIf you would like to temporary disable integrations with Report Portal just\ndeactivate :code:`pytest_reportportal` plugin with command like:\n\n.. code-block:: bash\n\n py.test -p no:pytest_reportportal ./tests\n\n\n\nCopyright Notice\n----------------\n.. Copyright Notice: https://github.com/reportportal/agent-python-pytest#copyright-notice\n\nLicensed under the GPLv3_ license (see the LICENSE file).\n\n.. _GPLv3: https://www.gnu.org/licenses/quick-guide-gplv3.html\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/reportportal/agent-python-pytest", "keywords": "testing,reporting,reportportal,pytest", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "pytest-reportportal", "package_url": "https://pypi.org/project/pytest-reportportal/", "platform": "", "project_url": "https://pypi.org/project/pytest-reportportal/", "project_urls": { "Homepage": "https://github.com/reportportal/agent-python-pytest" }, "release_url": "https://pypi.org/project/pytest-reportportal/1.0.8/", "requires_dist": [ "reportportal-client (>=3.2.3)", "pytest (>=3.0.7)", "six (>=1.10.0)", "dill (>=0.2.7.1)" ], "requires_python": "", "summary": "Agent for Reporting results of tests to the Report Portal", "version": "1.0.8" }, "last_serial": 5924381, "releases": { "0.2.2": [], "0.2.3": [ { "comment_text": "", "digests": { "md5": "89909c08892e0c8227e5e03f60d522e4", "sha256": "c5ceba00ab9711104c2aa27ab647562128893e74d608cf019006be3512cbe6de" }, "downloads": -1, "filename": "pytest-reportportal-0.2.3.tar.gz", "has_sig": false, "md5_digest": "89909c08892e0c8227e5e03f60d522e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4808, "upload_time": "2017-05-02T12:35:55", "url": "https://files.pythonhosted.org/packages/f2/58/58e1c7c4c218b939bed253ffdfe315d3c2ba1ec9534311d6f206d974cc99/pytest-reportportal-0.2.3.tar.gz" } ], "0.2.4": [], "1.0.0": [ { "comment_text": "", "digests": { "md5": "32eb045a5715b4d2966bc3841f8bc884", "sha256": "925bfb9cbfb9a4051b78c44337d75834780ad3ac21bb7ef616812c8c715e6b0d" }, "downloads": -1, "filename": "pytest_reportportal-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "32eb045a5715b4d2966bc3841f8bc884", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9518, "upload_time": "2017-05-30T16:27:43", "url": "https://files.pythonhosted.org/packages/3e/38/9d4563bdac96c8ae53c94588737cb9906061e94d6f89bf4d158fdb88c046/pytest_reportportal-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d6893f0d43610a5f1f1dbfaae3d1ab8", "sha256": "41fe371de674620d520cce7ada309d6de02144dd4495784ef5c83c8e6c419362" }, "downloads": -1, "filename": "pytest-reportportal-1.0.0.tar.gz", "has_sig": false, "md5_digest": "9d6893f0d43610a5f1f1dbfaae3d1ab8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7403, "upload_time": "2017-05-30T16:27:44", "url": "https://files.pythonhosted.org/packages/77/e4/f910891e8ebe133f3dca4095f14ecf2095103faa0d67ee92c2f01141d8aa/pytest-reportportal-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "23003eed6f0ba25eea2f3e26f33048b4", "sha256": "4aeab545d9d008cbfb24deb40759574e047656225da9fde18dc95ff1890c3254" }, "downloads": -1, "filename": "pytest_reportportal-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "23003eed6f0ba25eea2f3e26f33048b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11125, "upload_time": "2017-11-22T11:30:53", "url": "https://files.pythonhosted.org/packages/60/16/0c5d5a38dfcb16d701dd0a6cb20b38fe90c632f172b4a4605e317d326d58/pytest_reportportal-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3714e7e9e5d1d21d1d0f736acaf49b0a", "sha256": "ca4f1f2cba565f60ca755cf74eba8ce364b3dbdbb5ea616461674e8b4f0baae8" }, "downloads": -1, "filename": "pytest-reportportal-1.0.1.tar.gz", "has_sig": false, "md5_digest": "3714e7e9e5d1d21d1d0f736acaf49b0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8235, "upload_time": "2017-11-22T11:30:54", "url": "https://files.pythonhosted.org/packages/50/31/cb6aefe6bc10694935441e8b8395f3e2c7bb41a146b4ce651a08ed7d6d61/pytest-reportportal-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "d94857cc951ec7019f55413ce30bbb5e", "sha256": "44a72bd1ee1d9239ac783f76bdf091d50ca1f92f0dd7df8281ed7e07e27fc133" }, "downloads": -1, "filename": "pytest_reportportal-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d94857cc951ec7019f55413ce30bbb5e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11153, "upload_time": "2017-12-06T14:06:00", "url": "https://files.pythonhosted.org/packages/9f/f2/d3ea5173640bc5efa9418c829f7874e3cfa0ec391ee219c505e58bf07dc7/pytest_reportportal-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "69842d064bb91d67c3d65d3c38f0fa15", "sha256": "f400133cfe90bd95c830b1dfb961df46116879c1b2af6dbc926f8b7599481428" }, "downloads": -1, "filename": "pytest-reportportal-1.0.2.tar.gz", "has_sig": false, "md5_digest": "69842d064bb91d67c3d65d3c38f0fa15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8288, "upload_time": "2017-12-06T14:06:02", "url": "https://files.pythonhosted.org/packages/f8/05/36b048208841bec60f9e2cdde5b5843633c9d4791a0da48c77011c84659f/pytest-reportportal-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "5e19248102624a9d876c4582163ae8c4", "sha256": "5857f61f25e5336e630ac5a0003b56acabb0e3fc19cd8e6e63decfd200fa9332" }, "downloads": -1, "filename": "pytest_reportportal-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e19248102624a9d876c4582163ae8c4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12897, "upload_time": "2018-03-27T08:42:16", "url": "https://files.pythonhosted.org/packages/57/2a/ef226a1420eb1e54923229586b5b65ffdd4687797d7147811cfb3a5cfd63/pytest_reportportal-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e300755eea593741d1e275b346c2209", "sha256": "70c7f2fb2a6d854299b08a46643d196efad62e52c4314a59e8fd80a24d78cd85" }, "downloads": -1, "filename": "pytest-reportportal-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4e300755eea593741d1e275b346c2209", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9665, "upload_time": "2018-03-27T08:42:17", "url": "https://files.pythonhosted.org/packages/cf/65/ea25e4aa38558e8c078e0a9f1a210a5aa777d934e858e63b21f055a9cda0/pytest-reportportal-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "dce01eb964cbbc0b05ecb898af619cc3", "sha256": "088dbda8bd62bc5c6b5428dfa89f454a5dd8ddd1b0f094468de18d43c12c5cf7" }, "downloads": -1, "filename": "pytest_reportportal-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dce01eb964cbbc0b05ecb898af619cc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13072, "upload_time": "2018-09-07T12:09:25", "url": "https://files.pythonhosted.org/packages/f1/a9/09579898dab4ea3fb9f0754c93ecda5e9f5f36af6913b9a8257d001aae34/pytest_reportportal-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b62e64bcfcf11dc34afd0f7847be5b9", "sha256": "ca2de3048372aea3dfd4ce7885fae8b6f70743b9e2e7f1f2fd0c93a2d806c215" }, "downloads": -1, "filename": "pytest-reportportal-1.0.4.tar.gz", "has_sig": false, "md5_digest": "7b62e64bcfcf11dc34afd0f7847be5b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12665, "upload_time": "2018-09-07T12:09:26", "url": "https://files.pythonhosted.org/packages/45/da/f0a621d4c19d66b3003b3897b8250743f3e9b40e52f5f65e3e2b140e93d6/pytest-reportportal-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "0cb981d5619e42abb41620cd3e8ef51f", "sha256": "8247453b5ea74913573b00c26623b95b34344487bbd0cb63f811be4b1f009940" }, "downloads": -1, "filename": "pytest_reportportal-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0cb981d5619e42abb41620cd3e8ef51f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18919, "upload_time": "2019-05-10T16:06:22", "url": "https://files.pythonhosted.org/packages/c5/11/6e40f1191d4b86e8e56b1acda25235d251eb4d3dd3a1c74a7c1b2bc99a0d/pytest_reportportal-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d9f46b311efc235ace38347ed2a78c3", "sha256": "6875463db1d47530b1b83d85812c878ad89cbdaedfb54d6458f5142c94995a3e" }, "downloads": -1, "filename": "pytest-reportportal-1.0.5.tar.gz", "has_sig": false, "md5_digest": "1d9f46b311efc235ace38347ed2a78c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16620, "upload_time": "2019-05-10T16:06:23", "url": "https://files.pythonhosted.org/packages/e4/ba/ad60a2396dadef85f14d875f662f38110b906406fbfaa3b5b041711ae8db/pytest-reportportal-1.0.5.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "41062a6b3b3315936e114288196a3fa6", "sha256": "6ce560879172fb1df92e9c35a698f588c7e3cdf6969790fce729afa5f9361682" }, "downloads": -1, "filename": "pytest-reportportal-1.0.7.tar.gz", "has_sig": false, "md5_digest": "41062a6b3b3315936e114288196a3fa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12915, "upload_time": "2019-05-29T15:21:35", "url": "https://files.pythonhosted.org/packages/60/be/43f56678a006882f818f0a518873152c729533ea83a50c3c3e2a6bdab6fd/pytest-reportportal-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "d958ac4c7468b8e430ee747797ebd23a", "sha256": "76f8c5f52c48684075f203c187d2bb111cd4621d1f8c77a568521170487ed533" }, "downloads": -1, "filename": "pytest_reportportal-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d958ac4c7468b8e430ee747797ebd23a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19387, "upload_time": "2019-10-03T16:59:55", "url": "https://files.pythonhosted.org/packages/b1/ac/92ab3030c39fb544efde56640889f3b697dbac64c0d4a55619c0768cdc15/pytest_reportportal-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "105f5336ca06b934a7373aee173db8b3", "sha256": "512e62666b2eb8fb4d27e22387ccf56ef6c51fee9ac76f74ef2afc97507f7b3a" }, "downloads": -1, "filename": "pytest-reportportal-1.0.8.tar.gz", "has_sig": false, "md5_digest": "105f5336ca06b934a7373aee173db8b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14898, "upload_time": "2019-10-03T16:59:57", "url": "https://files.pythonhosted.org/packages/1f/95/3c200e384f33a7bd48de78fb4539e39e750472f022f825f53e0e0b929d95/pytest-reportportal-1.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d958ac4c7468b8e430ee747797ebd23a", "sha256": "76f8c5f52c48684075f203c187d2bb111cd4621d1f8c77a568521170487ed533" }, "downloads": -1, "filename": "pytest_reportportal-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d958ac4c7468b8e430ee747797ebd23a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19387, "upload_time": "2019-10-03T16:59:55", "url": "https://files.pythonhosted.org/packages/b1/ac/92ab3030c39fb544efde56640889f3b697dbac64c0d4a55619c0768cdc15/pytest_reportportal-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "105f5336ca06b934a7373aee173db8b3", "sha256": "512e62666b2eb8fb4d27e22387ccf56ef6c51fee9ac76f74ef2afc97507f7b3a" }, "downloads": -1, "filename": "pytest-reportportal-1.0.8.tar.gz", "has_sig": false, "md5_digest": "105f5336ca06b934a7373aee173db8b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14898, "upload_time": "2019-10-03T16:59:57", "url": "https://files.pythonhosted.org/packages/1f/95/3c200e384f33a7bd48de78fb4539e39e750472f022f825f53e0e0b929d95/pytest-reportportal-1.0.8.tar.gz" } ] }