{ "info": { "author": "Robot Framework Developers", "author_email": "robotframework@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Testing" ], "description": "DbBot\r\n=====\r\n\r\nDbBot is a Python script to serialize `Robot Framework`_ output files into\r\na SQLite database. This way the future `Robot Framework`_ related tools and\r\nplugins will have a unified storage for the test run results.\r\n\r\nRequirements\r\n------------\r\n\r\n- `Python`__ 2.6 or newer installed\r\n- `Robot Framework`_ 2.7 or newer installed\r\n\r\n`Robot Framework`_ version 2.7.4 or later is recommended as versions prior to\r\n2.7.4 do not support storing total elapsed time for test runs or tags.\r\n\r\nHow it works\r\n------------\r\n\r\nThe script takes one or more `output.xml` files as input, initializes the\r\ndatabase schema, and stores the respective results into a database\r\n(`robot\\_results.db` by default, can be changed with options `-b` or\r\n`--database`). If database file is already existing, it will insert the new \r\nresults into that database.\r\n\r\nInstallation\r\n------------\r\n\r\nThis tool is installed with pip with command:\r\n\r\n::\r\n\r\n $ pip install dbbot\r\n\r\nAlternatively you can download the source distribution, extract it and\r\ninstall using:\r\n\r\n::\r\n\r\n $ python setup.py install\r\n\r\nWhat is stored\r\n--------------\r\n\r\nBoth the test data (names, content) and test statistics (how many did pass or\r\nfail, possible errors occurred, how long it took to run, etc.) related to\r\nsuites and test cases are stored by default. However, keywords and related\r\ndata are not stored as it might take order of magnitude longer for massive\r\ntest runs. You can choose to store keywords and related data by using `-k` or\r\n`--also-keywords` flag.\r\n\r\nUsage examples\r\n--------------\r\n\r\nTypical usage with a single output.xml file:\r\n\r\n::\r\n\r\n python -m dbbot.run atest/testdata/one_suite/output.xml\r\n\r\nIf the database does not already exist, it's created. Otherwise the test\r\nresults are just inserted into the existing database. Only new results are\r\ninserted.\r\n\r\nThe default database is a file named `robot_results.db`.\r\n\r\nAdditional options are:\r\n\r\n+-------------------+---------------------------+--------------------------+\r\n| Short format | Long format | Description |\r\n+===================+===========================+==========================+\r\n| `-k` | `--also-keywords` | Parse also suites' and |\r\n| | | tests' keywords |\r\n+-------------------+---------------------------+--------------------------+\r\n| `-v` | `--verbose` | Print output to the |\r\n| | | console. |\r\n+-------------------+---------------------------+--------------------------+\r\n| `-b DB_FILE_PATH` | `--database=DB_FILE_PATH` | SQLite database for test |\r\n| | | run results |\r\n+-------------------+---------------------------+--------------------------+\r\n| `-d` | `--dry-run` | Do everything except |\r\n| | | store the results. |\r\n+-------------------+---------------------------+--------------------------+\r\n\r\n\r\nSpecifying custom database name:\r\n\r\n::\r\n\r\n $ python -m dbbot.run -b my_own_database.db atest/testdata/one_suite/output.xml\r\n\r\nParsing test run results with keywords and related data included:\r\n\r\n::\r\n\r\n python -m dbbot.run -k atest/testdata/one_suite/output.xml\r\n\r\nGiving multiple test run result files at the same time:\r\n\r\n::\r\n\r\n python -m dbbot.run atest/testdata/one_suite/output.xml atest/testdata/one_suite/output_latter.xml\r\n\r\nDatabase\r\n--------\r\n\r\nYou can inspect the created database using the `sqlite3`_ command-line tool:\r\n\r\n.. code:: sqlite3\r\n\r\n $ sqlite3 robot_results.db\r\n\r\n sqlite> .tables\r\n arguments suite_status test_run_errors tests\r\n keyword_status suites test_run_status\r\n keywords tag_status test_runs\r\n messages tags test_status\r\n\r\n sqlite> SELECT count(), tests.id, tests.name\r\n FROM tests, test_status\r\n WHERE tests.id == test_status.test_id AND\r\n test_status.status == \"FAIL\"\r\n GROUP BY tests.name;\r\n\r\nPlease note that when database is initialized, no indices are created by\r\nDbBot. This is to avoid slowing down the inserts. You might want to add\r\nindices to the database by hand to speed up certain queries in your own\r\nscripts.\r\n\r\nFor information about the database schema, see `doc/robot_database.md`__.\r\n\r\nMigrating from Robot Framework 2.7 to 2.8\r\n-----------------------------------------\r\n\r\nIn Robot Framework 2.8, output.xml has changed slightly. Due this, the\r\ndatabases created with 2.7 need to migrated to be 2.8 compatible.\r\n\r\nTo migrate the existing database, issue the following script:\r\n\r\n::\r\n\r\n python tools/migrate27to28 -b \r\n\r\nUse case example: Most failing tests\r\n------------------------------------\r\n\r\nOne of the common use cases for DbBot is to get a report of the most commonly\r\nfailing suites, tests and keywords. There's an example for this purpose in\r\n`examples/FailBot/bin/failbot`.\r\n\r\nFailbot is a Python script used to produce a summary web page of the failing\r\nsuites, tests and keywords, using the information stored in the DbBot\r\ndatabase. Please adjust (the barebone) HTML templates in\r\n`examples/FailBot/templates` to your needs.\r\n\r\nWriting your own scripts\r\n------------------------\r\n\r\nPlease take a look at the modules in `examples/FailBot/failbot` as an example\r\non how to build on top of the classes provided by DbBot to satisfy your own\r\nscripting needs.\r\n\r\nLicense\r\n-------\r\n\r\nDbBot is released under the `Apache License, Version 2.0`__.\r\n\r\nSee LICENSE.TXT for details.\r\n\r\n__ https://www.python.org/\r\n__ https://github.com/robotframework/DbBot/blob/master/doc/robot_database.md\r\n__ http://www.tldrlegal.com/license/apache-license-2.0\r\n.. _`Robot Framework`: http://www.robotframework.org\r\n.. _`pip`: http://www.pip-installer.org\r\n.. _`sqlite3`: https://www.sqlite.org/sqlite.html", "description_content_type": null, "docs_url": null, "download_url": "https://pypi.python.org/pypi/dbbot", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/robotframework/DbBot", "keywords": "robotframework testing testautomation atdd", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "dbbot", "package_url": "https://pypi.org/project/dbbot/", "platform": "any", "project_url": "https://pypi.org/project/dbbot/", "project_urls": { "Download": "https://pypi.python.org/pypi/dbbot", "Homepage": "https://github.com/robotframework/DbBot" }, "release_url": "https://pypi.org/project/dbbot/0.1/", "requires_dist": null, "requires_python": null, "summary": "A tool for serializing Robot Framework test run results into an sqlite3 database.", "version": "0.1" }, "last_serial": 1046598, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "efab56aa40c8835ad233b9bdc728672a", "sha256": "c41fd61b71100eebf757b3b084a104c87dd2b7c15ed7d4166cd9d7540e82e180" }, "downloads": -1, "filename": "dbbot-0.1.tar.gz", "has_sig": false, "md5_digest": "efab56aa40c8835ad233b9bdc728672a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8356, "upload_time": "2014-03-31T10:48:10", "url": "https://files.pythonhosted.org/packages/0c/18/38410a5c2771378aba2d1bff6cef139ba680fbb488dcf56aa14da32ce856/dbbot-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "efab56aa40c8835ad233b9bdc728672a", "sha256": "c41fd61b71100eebf757b3b084a104c87dd2b7c15ed7d4166cd9d7540e82e180" }, "downloads": -1, "filename": "dbbot-0.1.tar.gz", "has_sig": false, "md5_digest": "efab56aa40c8835ad233b9bdc728672a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8356, "upload_time": "2014-03-31T10:48:10", "url": "https://files.pythonhosted.org/packages/0c/18/38410a5c2771378aba2d1bff6cef139ba680fbb488dcf56aa14da32ce856/dbbot-0.1.tar.gz" } ] }