Selenium

No Change
hold
First Added:May 28, 2026 Updated: July 2, 2026

Selenium. Is the long-standing browser automation stack (WebDriver, Grid, IDE) that drives real browsers through language bindings and separate driver binaries.

Summary

Garden stance: We hold Selenium for our estate.

Key points: | Topic | Notes | |——-|——–| | WebDriver | Language binding talks to a browser-specific driver (ChromeDriver, geckodriver, etc.) | | Grid | Hub/node layout for parallel browsers; ops overhead versus Playwright sharding | | IDE | Quick script capture; export to code; not a substitute for maintained test suites | | CI | Works in GitHub Actions and other Continuous Integration runners with driver install steps |

Versus Playwright: Selenium separates browser, driver, and binding versions. Playwright bundles browsers, auto-waits, and trace artifacts. Prefer Playwright for new Test Pyramid E2E layers.

Versus Cypress: Cypress targets JavaScript in-browser runs with a dedicated runner. Selenium is language-neutral and WebDriver-native. Both are hold for net-new work here.

Migration path: identify critical paths; port specs to Playwright with parallel runs; retire Grid nodes when Playwright parallelism and flake metrics match or beat the old stack.

References

Details

TopicNotes
WebDriverLanguage binding talks to a browser-specific driver (ChromeDriver, geckodriver, etc.)
GridHub/node layout for parallel browsers; ops overhead versus Playwright sharding
IDEQuick script capture; export to code; not a substitute for maintained test suites
CIWorks in GitHub Actions and other Continuous Integration runners with driver install steps

Versus Playwright: Selenium separates browser, driver, and binding versions. Playwright bundles browsers, auto-waits, and trace artifacts. Prefer Playwright for new Test Pyramid E2E layers.

Versus Cypress: Cypress targets JavaScript in-browser runs with a dedicated runner. Selenium is language-neutral and WebDriver-native. Both are hold for net-new work here.

Migration path: identify critical paths; port specs to Playwright with parallel runs; retire Grid nodes when Playwright parallelism and flake metrics match or beat the old stack.

References

Related: