{ "info": { "author": "Virtualstock", "author_email": "development.team@virtualstock.co.uk", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# Behave to TestRail Reporter\n\n\n[![CircleCI](https://circleci.com/gh/Virtualstock/behave-testrail-reporter.svg?style=svg)](https://circleci.com/gh/Virtualstock/behave-testrail-reporter)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/7823c0c33c6a4e12917113bfdc8a135b)](https://www.codacy.com/app/Virtualstock/behave-testrail-reporter?utm_source=github.com&utm_medium=referral&utm_content=Virtualstock/behave-testrail-reporter&utm_campaign=Badge_Grade)\n[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/7823c0c33c6a4e12917113bfdc8a135b)](https://www.codacy.com/app/Virtualstock/behave-testrail-reporter?utm_source=github.com&utm_medium=referral&utm_content=Virtualstock/behave-testrail-reporter&utm_campaign=Badge_Coverage)\n[![pullreminders](https://pullreminders.com/badge.svg)](https://pullreminders.com?ref=badge)\n\nThis integration is used to add test results to TestRail automatically when Behave tests are executed.\n\n\nExample of the generated report:\n\n```\n3 testrail test cases passed, 0 failed, 19 skipped, 2 untested\nTook 0m6.349s\n```\n\n## Install\n\nCan install it using pipenv\n\n```\n$ pipenv install behave-testrail-reporter\n```\n\nor using pip\n\n```\n$ pip install behave-testrail-reporter\n```\n\n## Setup\n\nAdd `TestrailReporter` to behave reporters in your `/features/environment.py` by adding this code in `before_all()`\n\n```python\nfrom behave_testrail_reporter import TestrailReporter\n\ndef before_all(context):\n # ... all your other awesome code in here\n current_branch = os.environ.get('CIRCLE_BRANCH') # Change this to get the current build branch of your CI system\n testrail_reporter = TestrailReporter(current_branch)\n context.config.reporters.append(testrail_reporter)\n```\n\n\nCreate a `testrail.yml` config file in the root of your project\n\n\nExample structure:\n\n\n```yaml\nprojects:\n -\n name: 'Test run {branch}'\n id: 123\n suite_id: 456\n # note: this will allow any branch to push test case results to Testrail.\n allowed_branch_pattern: '.*'\n```\n\nAllow only **master** branch and **release1.111.1** to push test results to Testrail:\n```yaml\nprojects:\n -\n name: 'Test run {branch}'\n id: 123\n suite_id: 456\n allowed_branch_pattern: '^(master|release\\/\\d+([\\.\\d]+)?)$'\n```\n\n| yaml key | Description |\n| ---------------------- | ---------------------------------------------------------- |\n| name | Project name | \n| id | Testrail project id | \n| suite_id | Testrail Suite id | \n| allowed_branch_pattern | Regular expression to restrict when a test run is executed | \n\n**name** - You can use some project variables to create dynamic test run names\n\n| Variable | Example | Result |\n| ------------ | ----------------------- | --------------- |\n| {project_id} | 'Test run {project_id}' | Test run 123 |\n| {suite_id} | 'Test run {suite_id}' | Test run 456 |\n| {branch} | 'Test run {branch}' | Test run master |\n\n\n**Environment variables required**\n\n| Variable name | Description |\n| ------------------- | --------------------------- |\n| TESTRAIL_KEY | TestRail user password |\n| TESTRAIL_USER | TestRail user email address |\n\n\n\n## How to use\n\nTo get test cases marked as success or fail on TestRail we have to add tags with TestRail test case ID\non each scenario.\n\nTest case tag structure:\n\n`prefix` + `test case id`\n\n`@testrail-` + `C1104`\n\nSee example below:\n\n```gherkin\nFeature: Log in and out\n\n Background:\n Given I am logged out from Hub\n And I navigate to the home page\n\n @testrail-C1104\n @testrail-C45933\n Scenario: Admin can login\n When I enter the username admin\n And I enter the password admin\n And I click the Login button\n Then I see the admin's landing page\n```\n\nNote: some scenarios can cover multiple TestRail cases, for that you just need to add multiple tags.\n\n## How to contribute\n\n### Install dependencies for development\n\n```\npipenv install --dev\n```\n\n### How to run tests\n\nActivate your virtual environment and then just run tox.\n```\ntox\n```\n\n## How to distribute\n\nIf you need to publish a new version of this package you can use this command:\n\n```\npython setup.py sdist bdist_wheel\ntwine upload dist/*\n```\n\n\n# License\nLicensed under `MIT license`. View [license](LICENSE).\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/virtualstock/behave-testrail-reporter/", "keywords": "Behave,Testrail,API,Test,BDD", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "behave-testrail-reporter", "package_url": "https://pypi.org/project/behave-testrail-reporter/", "platform": "", "project_url": "https://pypi.org/project/behave-testrail-reporter/", "project_urls": { "Homepage": "https://github.com/virtualstock/behave-testrail-reporter/" }, "release_url": "https://pypi.org/project/behave-testrail-reporter/0.4.0/", "requires_dist": [ "jsonschema", "behave", "pyyaml", "requests" ], "requires_python": "", "summary": "Behave library to integrate with Testrail API", "version": "0.4.0" }, "last_serial": 5461822, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a4e078744968868a47aa2d4044526771", "sha256": "ab510e9ecdee07a4424bee3ddd703401f761eeb19011899148973b35143bc409" }, "downloads": -1, "filename": "behave_testrail_reporter-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "a4e078744968868a47aa2d4044526771", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6921, "upload_time": "2018-04-11T16:21:08", "url": "https://files.pythonhosted.org/packages/10/b8/a7be365717c59b5fabf471edac237edf644ca17bf31a9d51b66820dec10c/behave_testrail_reporter-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b8f7e5c042eb9c8c4a83867c5f0e5c9", "sha256": "3292d7f75d4b2bfd4900e48d45a54511045098994f69f4d6512f48335593cec0" }, "downloads": -1, "filename": "behave-testrail-reporter-0.0.1.tar.gz", "has_sig": false, "md5_digest": "0b8f7e5c042eb9c8c4a83867c5f0e5c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7035, "upload_time": "2018-04-11T16:21:09", "url": "https://files.pythonhosted.org/packages/dc/53/672c5d89c65a2fbe12767e7422eef94a9ab080081662af0546df207c6843/behave-testrail-reporter-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "52226710207a0bad8236928591c08859", "sha256": "0b2cb16173aabd6a8a8ba7023ed031da654a62c2d278e7200538a0be7abc3ab6" }, "downloads": -1, "filename": "behave_testrail_reporter-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "52226710207a0bad8236928591c08859", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7185, "upload_time": "2018-04-30T14:03:58", "url": "https://files.pythonhosted.org/packages/49/96/0c87842d2793915d91a175ab51602fe847f0fa942132cdba6a395e6e4d04/behave_testrail_reporter-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a6fccd6ac6d10dba47451172792d8d5", "sha256": "73907c813e5ff6b70b94e471deab2ea43735caa954942adc15d35dd43e4a3048" }, "downloads": -1, "filename": "behave-testrail-reporter-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2a6fccd6ac6d10dba47451172792d8d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7307, "upload_time": "2018-04-30T14:03:59", "url": "https://files.pythonhosted.org/packages/3d/d3/1b6e2769128829cae1474176a2d0bf36d5b7dc38ccbed2e059d3472d05b9/behave-testrail-reporter-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "45c010d4a472c8b7c4f19528543de791", "sha256": "698784d65247ff64098c395df78fb4644feebd82c4cb5b2239381bd5a6839687" }, "downloads": -1, "filename": "behave_testrail_reporter-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "45c010d4a472c8b7c4f19528543de791", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7320, "upload_time": "2018-05-01T12:55:27", "url": "https://files.pythonhosted.org/packages/c7/6d/e300d53fefa8dd02e08def1a4dfebd20a34daa4221d7897bb98f91158648/behave_testrail_reporter-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a4b45b97949ede925824572c9ac0c84", "sha256": "a68cb1de6daa4540d9d51272a77ee2ac43e30b2f43d440823969ee98bcd3d189" }, "downloads": -1, "filename": "behave-testrail-reporter-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2a4b45b97949ede925824572c9ac0c84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7503, "upload_time": "2018-05-01T12:55:29", "url": "https://files.pythonhosted.org/packages/3f/0e/b6a8b5a5b0fba9855336cd6e64b6386569b31975590a726e19caa23bfb44/behave-testrail-reporter-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "62488ca4274e8c131e3a76208e90c554", "sha256": "c24b306148cb2d38eb00161b1deb19b9ab7d1ea1f80557bc017606702603d8d2" }, "downloads": -1, "filename": "behave_testrail_reporter-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62488ca4274e8c131e3a76208e90c554", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7370, "upload_time": "2018-05-18T12:40:17", "url": "https://files.pythonhosted.org/packages/d0/57/8c2c22b599c928f3d0c70ab4ab64f247f0c5c381ed9bc6d3d57b92bffd81/behave_testrail_reporter-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4eb6c1de9afd3fe1f9a244f9016a3d87", "sha256": "db67a24d04f018df40a84ed98447eb9569df9084e2a6210ee89ae06161b63f47" }, "downloads": -1, "filename": "behave-testrail-reporter-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4eb6c1de9afd3fe1f9a244f9016a3d87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7569, "upload_time": "2018-05-18T12:40:20", "url": "https://files.pythonhosted.org/packages/d7/d8/b3b96a9e6efe2502c15fa6960b2f3356bfa6cbf62e58bd7aae97a32d69d6/behave-testrail-reporter-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0c28fbb8c2cc264551b9322704f5790e", "sha256": "22f3a0d7120171df055a017cd3d723bf54464040a967e3adaf7021d6ad25f6b6" }, "downloads": -1, "filename": "behave_testrail_reporter-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c28fbb8c2cc264551b9322704f5790e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7528, "upload_time": "2018-07-20T11:18:15", "url": "https://files.pythonhosted.org/packages/69/61/8bd8cea9d6de9be0439174840d1d4725ada2d56d662bbfc4f5e3679faf08/behave_testrail_reporter-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39398aa4cba465dcfa50dce49b514d96", "sha256": "42de51896aa4eb91db42e21b50028b8c29a56c47c12db6042556e517d24ffeeb" }, "downloads": -1, "filename": "behave-testrail-reporter-0.3.0.tar.gz", "has_sig": false, "md5_digest": "39398aa4cba465dcfa50dce49b514d96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7895, "upload_time": "2018-07-20T11:18:16", "url": "https://files.pythonhosted.org/packages/4c/13/c8e439585b30dc2b249f8885bd89b4598471fb0470b85371d4e308880c07/behave-testrail-reporter-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "54faca2d5673ced34cc7b8d3b072fa14", "sha256": "66c9c58066c8d9b3f3cfb9d0c004106ca476b995cfa44e2a11e360bcc131e258" }, "downloads": -1, "filename": "behave_testrail_reporter-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "54faca2d5673ced34cc7b8d3b072fa14", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7556, "upload_time": "2018-08-29T17:41:43", "url": "https://files.pythonhosted.org/packages/bd/ba/4908e1e5474c569def6ff239bbc4d661e374c418f375c2bda4551663f54b/behave_testrail_reporter-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9997faa4066940c03ee1480966b7d69b", "sha256": "162ac816ce416144c00fb5aca78797c421fd46fbb2b095c7caf1d25ca6076195" }, "downloads": -1, "filename": "behave-testrail-reporter-0.3.1.tar.gz", "has_sig": false, "md5_digest": "9997faa4066940c03ee1480966b7d69b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8327, "upload_time": "2018-08-29T17:41:46", "url": "https://files.pythonhosted.org/packages/8a/0c/bf9f3399af167ab17497086355704267962d58e9b047c1554a884f6e69f9/behave-testrail-reporter-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "fb2015892a90c548f4bd30499d698c63", "sha256": "bcf6ac85c57d3bb805112ccce164ac07d2501e2869a9f8c335135a887de1c28b" }, "downloads": -1, "filename": "behave_testrail_reporter-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb2015892a90c548f4bd30499d698c63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8638, "upload_time": "2019-06-28T13:57:09", "url": "https://files.pythonhosted.org/packages/b2/04/421437f5f2970295475eb07ef6a7f33a64af7a35dccb663741ea3c28dfe7/behave_testrail_reporter-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96d44028147afd7be55997ebd5027188", "sha256": "2ecce6148dbab6502f6d62acbf3364988c4048fecc70e81c63f4ffebc12ae610" }, "downloads": -1, "filename": "behave-testrail-reporter-0.4.0.tar.gz", "has_sig": false, "md5_digest": "96d44028147afd7be55997ebd5027188", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9100, "upload_time": "2019-06-28T13:57:13", "url": "https://files.pythonhosted.org/packages/08/d5/46977fdf7f90778b8f2506c7810089fd5a65e05f3dc4fd888dcdf1a80e87/behave-testrail-reporter-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fb2015892a90c548f4bd30499d698c63", "sha256": "bcf6ac85c57d3bb805112ccce164ac07d2501e2869a9f8c335135a887de1c28b" }, "downloads": -1, "filename": "behave_testrail_reporter-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb2015892a90c548f4bd30499d698c63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8638, "upload_time": "2019-06-28T13:57:09", "url": "https://files.pythonhosted.org/packages/b2/04/421437f5f2970295475eb07ef6a7f33a64af7a35dccb663741ea3c28dfe7/behave_testrail_reporter-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96d44028147afd7be55997ebd5027188", "sha256": "2ecce6148dbab6502f6d62acbf3364988c4048fecc70e81c63f4ffebc12ae610" }, "downloads": -1, "filename": "behave-testrail-reporter-0.4.0.tar.gz", "has_sig": false, "md5_digest": "96d44028147afd7be55997ebd5027188", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9100, "upload_time": "2019-06-28T13:57:13", "url": "https://files.pythonhosted.org/packages/08/d5/46977fdf7f90778b8f2506c7810089fd5a65e05f3dc4fd888dcdf1a80e87/behave-testrail-reporter-0.4.0.tar.gz" } ] }