Добрый день! Столкнулась с проблемой, что selenide открывает браузер создавая каждый раз новый профиль. И у меня там отсутствует плагин, который необходим для прохождения автотеста. Как можно запустить браузер в профиле default(где плагин точно работает), чтобы исключить проблему с запуском плагина.
Это вопрос больше по селениуму, чем по селениду.
- Возможно, правильнее будет запустить браузер не с профилем, а с плагином (или экстеншеном - как там у них это называется). Как-то через
ChromeOptions
наверняка можно задать. - Предполагаю, что открыть хром с готовым профилем можно примерно так (но сам не пробовал):
ChromeOptions options = new ChromeOptions();
options.addArguments("--user-data-dir=/Users/andrei/xxx");
Configuration.browserCapabilities = options;
open("https://google.com");
Попробовала, не получилось. Но у меня также не заработал и options.addArguments(“start-maximized”). Попробовала и через addExtensions
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("C:\\Users\\MyWork\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\iifchhfnnmpdbibifmljnfjhpififfog\\1.2.8_0.crx"));
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities)
Появляется ошибка
[1645650431.901][WARNING]: Public key in crx header is different from key in manifest
key from header: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAysOSiT9KMqgx2i7TRJP7JudQcjUp7d9hI6pXqbVrZPiyGzdDJ1b0unkjfUIa2aRsTP74KiXEEiiNhcLSIGfysPJig4/55rNFlIJ62V/mbuZAK7kEURJR91PLKD8R69by2ZO9ocUolEqQmy+wjA3fa3xFK1cuVi+99LFmLhLpOHNELTzRcV/u2s1xT3PXTuaGXBztWtSgbNvVMtFskzf3RQlXN76BEbSTYYoZbBSOSjinrgnNzzvsyqrk619Tm8VXi9jsWch+ElQhvFMkid54gbKske4YMNEVzdvjlwVKTv3M6aRI+FpFVS+dQlmkkHKSThRGqCnwDryWEAchTTih0wIDAQAB
key from manifest: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsePKp3waq5KKtMV6DGvvY706kmxCCvsaVCoHylp2xlNuAlIXZtuRv+0l425qAqXJuMOx0CCniDQFB8LUqPw8W8C3tlZNhLh9RTayAsHMhgjeVJOO1BsX/UYsyt2WM2ZNU93M/VFl8lLpwPUwTx0O+ThLZGWyryUJtOfNJm0aZNCSgviM3Go6kanqBEe5H4SlItMd+96F0oYjh4y71ZfiUruqTPyKv9IfZbg6BWCf6Et5K6gyJtGG2DZ0oyZruub/OfxcJbOIGYBilQmbUIvX9tyzVhlVjgdKRIZxtn+P+xI38MMtKIgvp8giSLyHnUQYTjaw/TcBxVYoJknqUijK1QIDAQAB
generated extension id from header key: jpijhfeabphdhjihphaboejdadjpgpoc
generated extension id from manifest key: iifchhfnnmpdbibifmljnfjhpififfog
Пробовала у разных плагинов.
Ну вот, уже ближе! Значит, опции вебдрайвера указаны правильно.
Осталась проблема с плагином: что-то в нём не так, какой-то публичный ключ с чем-то не совпадает. Но тут уж точно не к селениду вопрос.
Да, копаю дальше. Еще, конечно, непонятно почему options.addArguments(“start-maximized”) не отрабатывает, т.к. запустить профиль рабочий было бы проще, чем разбираться с плагином. Тоже буду позже разбираться
А подскажите пожалуйста, как под определенным профилем открыть firefox
System.setProperty(“selenide.browser”, “firefox”); - этой строкой открываю ff.
FirefoxProfile profile = new FirefoxProfile(new File("C:\\Users\\MyWork\\AppData\\Local\\Mozilla\\Firefox\\Profiles\\xv3rzf2u.autotest"));
FirefoxOptions firefoxOptions = new FirefoxOptions()
.setProfile(profile);
new FirefoxDriver(firefoxOptions);
Добавила опцию, но возникает ошибка
java.lang.IllegalStateException: The path to the driver executable The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases