Пример настройки FirefoxDriver:
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
Proxy proxy = new Proxy();
proxy.setHttpProxy("localhost:8888");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver = new FirefoxDriver(capabilities);
Аналогично выполняется настройка для InternetExplorerDriver и RemoteWebDriver.
Mozilla Firefox также содержит настройки прокси в профиле. Поэтому для запуска Firefox через proxy можно использовать второй способ — профиль с предустановленными необходимыми значениями:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", 8888);
WebDriver driver = new FirefoxDriver(profile);
Ключи и значения настроек сети для Mozilla Firefox: Mozilla networking preferences
Начиная с версии 2.16 Capabilities для ChromeDriver больше не используется, вместо него необходимо использовать ChromeOptions. Настройка прокси для ChromeDriver выглядит следующим образом:
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
ChromeOptions option = new ChromeOptions();
option.addArguments("--proxy-server=http://" + PROXY);
WebDriver driver = new ChromeDriver(option);
Запуск тестов через прокси используется не только при работе с прокси-серверами но и, например, для блокировки лишнего контента при тестировании и тем самым увеличения скорости загрузки страниц.