For teams with Selenium tests in Python and pytest, against an app on the internet, who do not want to host anything.
Your setup
- Selenium tests in Python, run with
pytest. - The tests use Chrome.
- The app is on the internet, for example staging.
- The code is on GitHub (or another host, with its token).
Say this to Certyn
Run our pytest Selenium tests from github.com/acme/qa against staging.
What Certyn does
- Opens a form for
GH_TOKEN(Contents: Read on that repo). - On a cloud Machine, uses what is already there: Python 3.11, Chromium at
/usr/bin/chromiumand chromedriver at/usr/bin/chromedriver. Nothing to install for the browser. - Creates a virtual environment and installs from your
requirements.txtorpyproject.toml. - Reads your
conftest.pyto see how the driver starts and where the URL comes from. Passes the environment URL ($TARGET_BASE_URLon the Machine) to that option or variable. - Runs one test, then the suite as a run with
pytest --junitxml.
What you get
- A run report with the totals and failures grouped by cause: product bug, broken test, flaky test, setup problem.
- One issue per real product bug, with evidence.
- If you ask: a scheduled agent process with the same goal, for example every night.
Limits
- If your fixtures need Google Chrome or a fixed driver path, Certyn says what to change, or installs Google Chrome on the Machine for that run. It does not change your code unless you ask.
- Python 3.11 is on the Machine. Another Python version must be installed at every cloud run. A self-hosted runner with a workspace folder keeps it.
- Machines run Linux. Safari is not available.
- A cloud Machine starts clean: pip installs your packages at every run.
- An app inside your network needs a runner.