ThreadLocal<WebDriver> ensures each thread has its own isolated instance:public class DriverManager {
private static final ThreadLocal<WebDriver> driverThread = new ThreadLocal<>();public static WebDriver getDriver() {
return driverThread.get();
}
public static void setDriver(WebDriver driver) {
driverThread.set(driver);
}
public static void quitDriver() {
if (driverThread.get() != null) {
driverThread.get().quit();
driverThread.remove(); // Prevent memory leaks
}
}
}