Cross-browser testing runs the same tests on multiple browsers/versions; Selenium Grid (or cloud services like BrowserStack/Sauce Labs) distributes tests across remote browsers, and the framework parallelizes them for speed.
The framework's DriverFactory creates a RemoteWebDriver pointing at a Grid hub (or cloud endpoint) with desired capabilities (browser, version, OS), selected by config. Grid's hub-node architecture (or Grid 4's fully distributed mode) runs tests on many browser nodes concurrently. Combined with TestNG/JUnit parallelism and thread-local drivers, you achieve fast cross-browser coverage. Cloud providers add real devices/browsers without maintaining infrastructure. Design considerations: capabilities per browser from config, thread-safe drivers, and isolated data. Cross-browser + parallel via Grid/cloud is a standard scaling topic.
The framework runs the suite in parallel across Chrome, Firefox, and Edge nodes on a Selenium Grid via RemoteWebDriver with capabilities from config — covering three browsers in the time of one, thread-safely.
How would you design the framework to run the same suite across Chrome, Firefox, and Edge in parallel?