Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Java+selenium+opera, отключение оповещений

opera
java
selenium
webdriver
testng
Теги: #<Tag:0x00007f7b622c26a0> #<Tag:0x00007f7b622c2560> #<Tag:0x00007f7b622c23d0> #<Tag:0x00007f7b622c2290> #<Tag:0x00007f7b622c2150>

(Илья Ткачев) #1

Добрый день.
У меня есть тест, который производит логинится на сайте и далее совершает определенную работу. В случае с chrome, firefox, ie проблем не было, но в случае с Opera (version 34.0) после логина появляется окно password manager’a предлагающее сохранение пароля, это оповещение блокирует работу с сайтом до тех пор пока не кликнуть Yes или No, т.е. пока его не убрать. Трудность в том, что это оповещение не часть сайта, а соответственно доступа к нему из теста нет. В настройках я пробовал отключать запоминание паролей и наоборот в ручную сохранить их, но это не помогало т.к. в тесте Опера запускается всегда с дефолтными настройками игнорируя мои изменения.


(Natalya) #2

Нужно создать для тестов отдельный профиль браузера и в нём отключить все лишнее


(Илья Ткачев) #3

Здравствуйте, n_chufyrina.

Благодарю за совет. Опера делает следующий финт ушами, при стандартном запуске оперы (простой клик по ярлыку) у неё нормально лежат конфиги в своей константной папочке (C:\Users\IT\AppData\Roaming\Opera Software\Opera Stable) к которым она и обращается, но при запуске Оперы из теста, в настройках у неё указан следующий путь к конфигу C:\Users\IT\AppData\Local\Temp\scoped_dir5560_2878 причем при каждом запуске путь (цифры в конце) меняется, т.е. Опера динамически создает по конфигу на каждый запуск. Кажется это возможно решить через Capabilities, но я в этом еще не разобрался.


(Илья Ткачев) #4

Проблема все еще не решена, если обратиться к обычной опере, запускаемой по клику мыши, а не из браузера, то можно в настройках увидеть, что:
Profile: C:\Users\IT\AppData\Roaming\Opera Software\Opera Stable
пройдя по этому пути я нашел файл с настройками Preferences в котором есть поле password_manager_enabled":false. Т.е. это именно то, что нужно.
В коде теста добавил такие строки:

DesiredCapabilities capabilities = DesiredCapabilities.operaBlink();
capabilities.setCapability(“opera.profile”, “C:\Users\IT\AppData\Roaming\Opera Software\Opera Stable\Preferences”);
capabilities.setCapability(“opera.logging.file”, “”);
capabilities.setCapability(“opera.no_quit”, false);
driver = new OperaDriver(capabilities);

Однако действие это не возымело( опера будто игнорирует мои настройки.
Version: 35.0.2066.37


(Илья Ткачев) #5

up!


(Максим) #6

Всем привет, у меня проблемы с 34 - No Data Recieved, а также открывается ссылка на файл настроек, кто-то может подсказать как сделать конфиг?
Opera 36 developer вообще не хочет реагировать на webdriver, кто-то сталкивался?

использую 2 машины, Linux mint и Ubuntu, operadriver 0.2.2 (при запуске пишет 0.2), selenium 2.51.0, весь проект собирается мавеном. ( Chrome и Firefox работают нормально. )
Есть ли у кого-то опыт успешной настройки свежих версий оперы вообще? Или же нужно ждать обновлений operadriver?