Grid lets you run many tests at the same time on different machines or browsers. This saves time and helps find problems faster.
0
0
Why Grid enables parallel execution in Selenium Python
Introduction
You want to test your website on Chrome and Firefox at the same time.
You need to run many tests quickly before a release.
You want to check your app on different operating systems without waiting.
You have a team writing tests that should run together.
You want to use multiple computers to share the testing work.
Syntax
Selenium Python
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # Connect to Selenium Grid Hub driver = webdriver.Remote( command_executor='http://hub_address:4444/wd/hub', desired_capabilities=DesiredCapabilities.CHROME ) # Use driver as usual driver.get('http://example.com') print(driver.title) driver.quit()
The webdriver.Remote connects your test to the Grid hub.
desired_capabilities tells Grid which browser to use.
Examples
This runs the test on Firefox through the Grid.
Selenium Python
driver = webdriver.Remote(
command_executor='http://localhost:4444/wd/hub',
desired_capabilities=DesiredCapabilities.FIREFOX
)This runs the test on Edge browser on a remote machine.
Selenium Python
driver = webdriver.Remote(
command_executor='http://192.168.1.10:4444/wd/hub',
desired_capabilities=DesiredCapabilities.EDGE
)Sample Program
This script runs tests on Chrome and Firefox at the same time using Selenium Grid and Python threads.
Selenium Python
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import threading # Function to run a test on a browser def run_test(browser): driver = webdriver.Remote( command_executor='http://localhost:4444/wd/hub', desired_capabilities=browser ) driver.get('https://example.com') print(f"Title on {browser['browserName']}: {driver.title}") driver.quit() # Run tests in parallel on Chrome and Firefox threads = [] browsers = [DesiredCapabilities.CHROME, DesiredCapabilities.FIREFOX] for browser in browsers: t = threading.Thread(target=run_test, args=(browser,)) threads.append(t) t.start() for t in threads: t.join()
OutputSuccess
Important Notes
Make sure the Selenium Grid hub and nodes are running before starting tests.
Parallel tests reduce total test time but need enough machines or browser instances.
Use unique test data or sessions to avoid conflicts when running tests in parallel.
Summary
Selenium Grid allows running tests on many browsers or machines at once.
This speeds up testing and helps check different environments quickly.
Use webdriver.Remote to connect tests to the Grid hub.