Как загрузить определенный профиль Firefox с помощью Selenium webdrivermanager?
Я пытаюсь использовать библиотеку webdrivermanager для загрузки драйвера firefox в моих тестах на селен. Я не могу загрузить определенный профиль Firefox с помощью этой библиотеки. Вот что я пытаюсь сделать:
FirefoxDriverManager.getInstance().setup() // To instantiate the firefox driver
ProfilesIni Prof = new ProfilesIni();
FirefoxProfile profile = Prof.getProfile("C:\\Users\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\6xv9ndwh.SELENIUM");
WebDriver driver = new FirefoxDriver(profile);
Но это создает новый драйвер и не заставляет драйвер, созданный firefoxdrivermanager, использовать определенный профиль.
Я также попытался использовать драйвер gecko по умолчанию, который также не загружает профиль. Вот код, который я пытаюсь:
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver\\geckodriver-v0.20.0-win64\\geckodriver.exe");
ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile Profile = allProfiles.getProfile('default');
Profile.setAcceptUntrustedCertificates(true);
Profile.setAssumeUntrustedCertificateIssuer(false);
driver = new FirefoxDriver(Profile);
Может кто-нибудь помочь мне в этом, пожалуйста?
2 ответа
Прежде всего, создайте новый профиль Firefox. Для этого выполните следующие действия: 1. Запустите эту команду firefox.exe -p в окне запуска.
Появится это диалоговое окно создания профиля с новым именем и выхода из окна.
После этого выполните эту команду в webdriver
System.setProperty("webdriver.firefox.marionette", "Path to the exe of firefox driver");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("UrProfile Name which u created");
WebDriver driver = new FirefoxDriver(myprofile);
driver.get("http://www.google.com");
Надеюсь, это поможет вам...
Это сработало для меня (хотя и не использовал webdrivermanager) для создания экземпляра веб-драйвера с использованием Gradle:
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
capabilities.setCapability("acceptInsecureCerts", true);
driver = {new FirefoxDriver(capabilities)}