MasterQA combines SeleniumBase automation with manual verification to greatly improve the productivity and sanity of QA teams.
pip install masterqa
git clone https://github.com/masterqa/MasterQA.git
cd MasterQA/examples
pytest masterqa_test.py # (Default browser: Chrome)
Follow the example to write your own tests:
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, 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:
self.verify()
self.verify("Can you find the moon?")
MasterQA is powered by SeleniumBase, the most advanced open-source automation platform on the Planet.