Skip to content
RecipesDoc

Selenium (Python) with pytest on Certyn's Cloud

Certyn runs your pytest Selenium suite on a cloud Machine, with no runner to host, and reports why tests failed.

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

  1. Opens a form for GH_TOKEN (Contents: Read on that repo).
  2. On a cloud Machine, uses what is already there: Python 3.11, Chromium at /usr/bin/chromium and chromedriver at /usr/bin/chromedriver. Nothing to install for the browser.
  3. Creates a virtual environment and installs from your requirements.txt or pyproject.toml.
  4. Reads your conftest.py to see how the driver starts and where the URL comes from. Passes the environment URL ($TARGET_BASE_URL on the Machine) to that option or variable.
  5. 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.