{ "info": { "author": "Etiqa s.r.l.", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing" ], "description": "Bromine is a high-level web testing Python library based on [Selenium][1] and\n[PageObject Pattern][2].\n\nIt's purpose is to provide a conceptual framework to **model** the system under test.\n\nTo write actual tests you'll keep using your testing framework of choice.\n\nBromine focuses on **end-to-end tests**: it relies on [Selenium][1] to exercise a\n*real* system, not to simulate it.\n\nWhile Selenium serves as the essential foundation enabling end-to-end testing,\nWebDriver alone offers too low a level of abstraction.
\nWhen we *describe* some behaviour that our system must exhibit, we usually think\nabout how users interact with the UI and how this one is expected to respond to\nthose interactions. We do *not* think about the browser as the main actor, but\nindeed as part of the application. In the context of Object-Oriented Programming,\nas developers we tend to reason in terms of UI objects interacting with the user\nor with other parts of the system.
\nGiven this perspective shift, Bromine adopts [PageObject Pattern][2] as its cornerstone.\n\nThe three basic building blocks of Bromine's conceptual model are `WebApplication`,\n`WebPage` and `WebElement`.\n\n`WebElements` are responsible for locating and automatically refreshing themselves relieving the programmer of the burden of explicitly handling Selenium's\n[StaleElementExceptions][3].\n\n\n[1]: https://www.seleniumhq.org/\n[2]: https://martinfowler.com/bliki/PageObject.html\n[3]: https://docs.seleniumhq.org/exceptions/stale_element_reference.jsp\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/Etiqa/bromine", "keywords": "", "license": "2-clause BSD License", "maintainer": "", "maintainer_email": "", "name": "bromine", "package_url": "https://pypi.org/project/bromine/", "platform": "", "project_url": "https://pypi.org/project/bromine/", "project_urls": { "Homepage": "https://github.com/Etiqa/bromine" }, "release_url": "https://pypi.org/project/bromine/0.2.0/", "requires_dist": [ "six", "selenium", "requests" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "summary": "A high-level web testing library based on Selenium and PageObject Pattern", "version": "0.2.0" }, "last_serial": 4192518, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c54be2dfd1f6c092d62973526fdc6fa0", "sha256": "4f65168dee4d2a2e2c521857f7bf3d3a9d23162e8c65ee0f483a38eaf2d1a1fa" }, "downloads": -1, "filename": "bromine-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c54be2dfd1f6c092d62973526fdc6fa0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 10028, "upload_time": "2018-06-07T14:24:35", "url": "https://files.pythonhosted.org/packages/c4/7d/bd5e0b9b7bded32a995e3f8d529eea444578c3fb871012893f67139a4a4c/bromine-0.1.0-py2.py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c468c1d01deda38584bc00be17f131ec", "sha256": "62ac3205a29868a58dd7c2a6217925fdc7b46f8f632adfa4079895ea95813963" }, "downloads": -1, "filename": "bromine-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c468c1d01deda38584bc00be17f131ec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 9993, "upload_time": "2018-08-10T09:50:29", "url": "https://files.pythonhosted.org/packages/d8/9c/f18bff8d86dc564d950578e966593f6cbf007ca87a8021ffe62dd6c2cf92/bromine-0.1.1-py2.py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "bb9cb8e5957873d42ece910d22a80c58", "sha256": "ee027e8038d386e7c3565f515fedf213203edf5651f3df1202e719c3fe939698" }, "downloads": -1, "filename": "bromine-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bb9cb8e5957873d42ece910d22a80c58", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 9891, "upload_time": "2018-08-21T13:21:23", "url": "https://files.pythonhosted.org/packages/23/6a/cb96b52b074192c1a5599efe62c4c1b30a5644c1d7ce5a05c85f5a1c3c08/bromine-0.2.0-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bb9cb8e5957873d42ece910d22a80c58", "sha256": "ee027e8038d386e7c3565f515fedf213203edf5651f3df1202e719c3fe939698" }, "downloads": -1, "filename": "bromine-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bb9cb8e5957873d42ece910d22a80c58", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 9891, "upload_time": "2018-08-21T13:21:23", "url": "https://files.pythonhosted.org/packages/23/6a/cb96b52b074192c1a5599efe62c4c1b30a5644c1d7ce5a05c85f5a1c3c08/bromine-0.2.0-py2.py3-none-any.whl" } ] }