Name | masterqa JSON |
Version |
1.9.1
JSON |
| download |
home_page | https://github.com/masterqa/MasterQA |
Summary | Automation-Assisted Manual Testing - https://masterqa.com |
upload_time | 2024-04-11 23:53:44 |
maintainer | Michael Mintz |
docs_url | None |
author | Michael Mintz |
requires_python | >=3.7 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# MasterQA
[![pypi](https://img.shields.io/pypi/v/masterqa.svg)](https://pypi.python.org/pypi/masterqa) [![Build Status](https://github.com/masterqa/MasterQA/workflows/CI%20build/badge.svg)](https://github.com/masterqa/MasterQA/actions)
### MasterQA combines SeleniumBase automation with manual verification to greatly improve the productivity and sanity of QA teams.
## (NOTE: **[MasterQA is now part of SeleniumBase!](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/masterqa)**)
![](https://seleniumbase.io/cdn/img/mqa_hybrid.png "MasterQA")
### Run the example test:
```bash
pip install masterqa
git clone https://github.com/masterqa/MasterQA.git
cd MasterQA/examples
pytest masterqa_test.py # (Default browser: Chrome)
```
![](https://seleniumbase.io/cdn/gif/masterqa6.gif "MasterQA")
### Follow the [example](https://github.com/masterqa/MasterQA/blob/master/examples/masterqa_test.py) to write your own tests:
```python
from seleniumbase import MasterQA
class MasterQATests(MasterQA):
def test_xkcd(self):
self.open("https://xkcd.com/1512/")
for i in range(4):
self.click('a[rel="next"]')
for i in range(3):
self.click('a[rel="prev"]')
self.verify()
self.open("https://xkcd.com/1520/")
for i in range(2):
self.click('a[rel="next"]')
self.verify("Can you find the moon?")
self.click('a[rel="next"]')
self.verify("Do the drones look safe?")
self.open("https://seleniumbase.io/devices/")
self.type("input#urlInput", "seleniumbase.io/error_page\n")
self.verify("Do you see Octocat in a Jedi knight robe?")
self.open("https://xkcd.com/213/")
for i in range(5):
self.click('a[rel="prev"]')
self.verify("Does the page say 'Abnormal Expressions'?")
```
You'll notice that tests are written based on [SeleniumBase](https://seleniumbase.io), with the key difference of using a different import: ``from masterqa import MasterQA`` rather than ``from seleniumbase import BaseCase``. Now the test class will import ``MasterQA`` instead of ``BaseCase``.
To add a manual verification step, use ``self.verify()`` in the code after each part of the script that needs manual verification. If you want to include a custom question, add text inside that call (in quotes). Example:
```python
self.verify()
self.verify("Can you find the moon?")
```
MasterQA is powered by [SeleniumBase](https://seleniumbase.io), the most advanced open-source automation platform on the [Planet](https://en.wikipedia.org/wiki/Earth).
Raw data
{
"_id": null,
"home_page": "https://github.com/masterqa/MasterQA",
"name": "masterqa",
"maintainer": "Michael Mintz",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Michael Mintz",
"author_email": "mdmintz@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d5/41/af01d7229ef285d882941c1506c87b116d33abfec230de34994a9f6e911e/masterqa-1.9.1.tar.gz",
"platform": "Windows",
"description": "# MasterQA\n\n[![pypi](https://img.shields.io/pypi/v/masterqa.svg)](https://pypi.python.org/pypi/masterqa) [![Build Status](https://github.com/masterqa/MasterQA/workflows/CI%20build/badge.svg)](https://github.com/masterqa/MasterQA/actions)\n\n### MasterQA combines SeleniumBase automation with manual verification to greatly improve the productivity and sanity of QA teams.\n\n## (NOTE: **[MasterQA is now part of SeleniumBase!](https://github.com/seleniumbase/SeleniumBase/tree/master/seleniumbase/masterqa)**)\n\n![](https://seleniumbase.io/cdn/img/mqa_hybrid.png \"MasterQA\")\n\n### Run the example test:\n\n```bash\npip install masterqa\n\ngit clone https://github.com/masterqa/MasterQA.git\n\ncd MasterQA/examples\n\npytest masterqa_test.py # (Default browser: Chrome)\n```\n\n![](https://seleniumbase.io/cdn/gif/masterqa6.gif \"MasterQA\")\n\n### Follow the [example](https://github.com/masterqa/MasterQA/blob/master/examples/masterqa_test.py) to write your own tests:\n\n```python\nfrom seleniumbase import MasterQA\n\nclass MasterQATests(MasterQA):\n def test_xkcd(self):\n self.open(\"https://xkcd.com/1512/\")\n for i in range(4):\n self.click('a[rel=\"next\"]')\n for i in range(3):\n self.click('a[rel=\"prev\"]')\n self.verify()\n\n self.open(\"https://xkcd.com/1520/\")\n for i in range(2):\n self.click('a[rel=\"next\"]')\n self.verify(\"Can you find the moon?\")\n\n self.click('a[rel=\"next\"]')\n self.verify(\"Do the drones look safe?\")\n\n self.open(\"https://seleniumbase.io/devices/\")\n self.type(\"input#urlInput\", \"seleniumbase.io/error_page\\n\")\n self.verify(\"Do you see Octocat in a Jedi knight robe?\")\n\n self.open(\"https://xkcd.com/213/\")\n for i in range(5):\n self.click('a[rel=\"prev\"]')\n self.verify(\"Does the page say 'Abnormal Expressions'?\")\n```\n\nYou'll notice that tests are written based on [SeleniumBase](https://seleniumbase.io), with the key difference of using a different import: ``from masterqa import MasterQA`` rather than ``from seleniumbase import BaseCase``. Now the test class will import ``MasterQA`` instead of ``BaseCase``.\n\nTo add a manual verification step, use ``self.verify()`` in the code after each part of the script that needs manual verification. If you want to include a custom question, add text inside that call (in quotes). Example:\n\n```python\nself.verify()\n\nself.verify(\"Can you find the moon?\")\n```\n\nMasterQA is powered by [SeleniumBase](https://seleniumbase.io), the most advanced open-source automation platform on the [Planet](https://en.wikipedia.org/wiki/Earth).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Automation-Assisted Manual Testing - https://masterqa.com",
"version": "1.9.1",
"project_urls": {
"Homepage": "https://github.com/masterqa/MasterQA"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "052083df9f76b3f877372c36cc356068b8a5dca8c362baad918cc6bc9d07d1e7",
"md5": "e77b370c05f514489ca5c641dfae856b",
"sha256": "6fc150f327481a8b32e5680537de6b1bc82804b7a9532ab3b01a30c26cc205c9"
},
"downloads": -1,
"filename": "masterqa-1.9.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e77b370c05f514489ca5c641dfae856b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 8580,
"upload_time": "2024-04-11T23:53:42",
"upload_time_iso_8601": "2024-04-11T23:53:42.289398Z",
"url": "https://files.pythonhosted.org/packages/05/20/83df9f76b3f877372c36cc356068b8a5dca8c362baad918cc6bc9d07d1e7/masterqa-1.9.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d541af01d7229ef285d882941c1506c87b116d33abfec230de34994a9f6e911e",
"md5": "05859c13f1a09ebb92068ca49b76b8b1",
"sha256": "12b6b81e2958fa9967c8d42a5f875f1a8d24cb659a99db88f3ccbbdd470dce42"
},
"downloads": -1,
"filename": "masterqa-1.9.1.tar.gz",
"has_sig": false,
"md5_digest": "05859c13f1a09ebb92068ca49b76b8b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 10852,
"upload_time": "2024-04-11T23:53:44",
"upload_time_iso_8601": "2024-04-11T23:53:44.130498Z",
"url": "https://files.pythonhosted.org/packages/d5/41/af01d7229ef285d882941c1506c87b116d33abfec230de34994a9f6e911e/masterqa-1.9.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-11 23:53:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "masterqa",
"github_project": "MasterQA",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "masterqa"
}