Member-only story
How to use docker to execute 100 parallel selenium webdriver tests? | Do we need thread-local?

In today’s fast‑paced development environment, ensuring software quality is crucial. Even when a feature is not used by end‑users but only by internal teams, undetected bugs can lead to inefficiencies and unexpected issues.
In this guide, we’ll discuss a detailed process of setting up an automation framework that can run 100 parallel tests using Selenium WebDriver, Java, Maven, and TestNG — all orchestrated in Docker. We’ll also cover how to manage Maven dependencies, configure TestNG for parallel execution, handle different machine architectures, and safely manage driver instances using ThreadLocal.
1. The Importance of Robust QA
When QA fails to find bugs in a feature, it might indicate one of two scenarios:
- A Truly Robust Feature:
The tests have verified that the feature meets its acceptance criteria. This is ideal — even if it’s only used internally, quality matters. - Testing Gaps:
Alternatively, it could signal that your test cases haven’t fully replicated real‑world admin usage, meaning edge cases could later emerge when non‑technical product team members begin using the feature. In such cases, establishing a strong feedback loop is crucial.