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

Operadriver error, cannot find Opera binary

opera
locators
team-city
webdriver
Теги: #<Tag:0x00007f7b6922e840> #<Tag:0x00007f7b6922e548> #<Tag:0x00007f7b6922e340> #<Tag:0x00007f7b6922e1b0>

(Максим) #1

Всем привет, просьба подсказать, может у кого то была такая проблема.
О проэкте: все крутится на TeamCity, но предварительно запускаю и отлаживаю через мавен(ТестНг) проект, на 3 браузерах, тест одинаковый, Chrome и FireFox нормально работают, а вот опера не запускается. Операдрайвер включается но не находит Opera_binary (у меня машина на Linux Mint). Уже перепробовал много вариантов, записывал в PATH,
записываю operaCapabilities.setCapability(“opera.binary”, “/usr/bin/opera/opera”);
Подставлял OperaDriver 0.2 драйвер запускается , дрова 1.4, 1.5 дают ошибку все.
Но результат всегда один. Еще попробую запустить под windows, но пока.

лог : "WebDriver unknown error: cannot find Opera binary
(Driver… "


(Максим) #2

Я решил проблему сам))) оказывается надо было подключить другой драйвер, я подключал:
import org.openqa.selenium.opera.OperaDriver;
а надо было: import com.opera.core.systems.OperaDriver;

Тему удалять?


(Ray Romanov) #3

Оставь, пригодится, потом в копилку БЗ ляжет.


(Максим) #4

Ок.
На самом деле что бы добраться до такого просто решения проблемы, было перепробованы несколько версий оперы, несколько версий дров(Presto, Chromium), переделаны DesiredCapabilities, 10 раз перенастроен PATH, с ручным указыванием местоположения Оперы и дров. Ноооо, благодаря форуму проблему победил. Что доказывает полезность данного ресурса. Моя благодарность и восторг как нового юзера.


(Artem From Moscow) #5

Решение для Linux (Debian, Ubuntu, Linux Mint) + Java.
Версия Opera: 37.0
Версия Selenium Webdriver: 2.53

Инициализируем webdriver Opera следующим образом:

OperaOptions oo = new OperaOptions();
oo.setBinary("/path/to/bin/opera");
WebDriver driver = new OperaDriver(oo);

После этого тесты отрабатывают в Opera корректно.

PS. Данная строка

import com.opera.core.systems.OperaDriver

импортирует в Java-класс устаревший драйвер (на базе движка Presto).
Подробнее см. здесь: http://selenium2.ru/articles/133-operachromiumdriver.html


(Максим) #6

Дякую, це вже в минулому, зараз актуальніше підняти Docker-Grid контейнер для Chrome, Firefox, Opera в зв’язці з TeamCity. :slight_smile:


(Chesonov Alex) #7

Del


(Chesonov Alex) #8

Добрый день.
Не могли бы вы сделать пошаговое описание действий приведших вас к успеху. Абсолютно та же проблема с Оперой. Уже сутки ничего не получается. Все остальные браузеры получилось настроить своими силами. Система Linux Mint, Opera 29
Какие драйверы и библиотеки куда устанавливать и код для проверки запуска браузера, если можно на Python.
Спасибо.


(Максим) #9

Сорри, не видел, интересует Грид или просто на машине одной? Я на Джаве, запускайю с одной прикольной штуки TestBaseSetup,пример в целом актуальный.

С операдрайвером ключевое прописать в bin, что-бы при вызове в консоли “operadriver” запускался драйвер. Либу в тест подключал: import org.openqa.selenium.opera.OperaDriver;

По питону не подскажу, пока не альо :slight_smile:

В данный момент разбираемся как замутить быструю крутую штуку
opera/chrome/firefox + docker + grid, пока проблема с оперой и нативными окнами…