Вопрос:

Не удалось подключиться к бинарному FirefoxBinary с Selenium в Maven

java maven selenium junit selenium-webdriver

61199 просмотра

11 ответа

663 Репутация автора

Я провожу несколько тестов на селен. Когда я запускаю их прямо из Eclipse, все работает нормально. Но когда я запускаю их через Maven, возникает следующее исключение:

org.openqa.selenium.WebDriverException(Failed to connect to binary FirefoxBinary(C:\winapp\Firefox\firefox.exe) on port 7055; process output follows: 
null
Build info: version: '2.26.0', revision: '18040', time: '2012-11-02 09:44:45'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_35'
Driver info: driver.version: FirefoxDriver)

Я использую Firefox 10.0.10 ESR. Я также попробовал это с Selenium 2.25.0.

Вот моя последняя версия pom.xml:

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.26.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>2.26.0</version>
        <exclusions>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>1.4.1</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>org.jdom</groupId>
        <artifactId>jdom2</artifactId>
        <version>2.0.3</version>
    </dependency>
</dependencies>

Если я могу поддержать вас с дополнительной информацией, пожалуйста, дайте мне знать.

редактировать: обновленный pom.xml

edit2: Что меня больше всего удивляет, так это то, что я могу без проблем выполнять тесты из Eclipse. они просто происходят, если я, например, называю «mvn install»

Автор: kirschmichel Источник Размещён: 22.11.2012 02:00

Ответы (11)


3 плюса

3393 Репутация автора

Попытка добавить это к вашему пом

ОБНОВЛЕНО:

<dependency>
    <groupId>org.seleniumhq.webdriver</groupId>
    <artifactId>selenium-firefox-driver</artifactId>
    <version>2.XX.X</version>
</dependency>

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-server</artifactId>
    <version>2.XX.X</version>
</dependency> 
Автор: Abhishek_Mishra Размещён: 22.11.2012 02:57

29 плюса

632 Репутация автора

Когда я сталкиваюсь с этой ошибкой, это обычно одна из двух вещей.

Версия Selenium не поддерживает версию браузера. Дважды проверьте, совпадают ли версии Selenium и браузера при запуске из Eclipse против Maven. Двойная проверка Eclipse и Maven настроены на использование одной и той же версии Selenium. Это произошло для меня, когда мой браузер автоматически обновляется, поэтому я отключил это в браузере.

Тесты Selenium выполняются в автономном режиме. Маловероятно, если вы вручную запускаете mvn на той же машине, что и Eclipse. Это произошло для меня при запуске Selenium через Maven на моем сервере Jenkins. Сервер Дженкинса работал в режиме без головы. Мне потребовалась минута, чтобы разобраться с безголовым, думаю, я установил переменную DISPLAY env в Linux или что-то в этом роде.

Автор: Matthew Petty Размещён: 03.12.2012 05:33

5 плюса

663 Репутация автора

Решение

Я понял, где проблема.

Я загрузил некоторые расширения для добавления в FirefoxProfile, который я использую для создания экземпляра FireFoxDriver. Эти плагины расположены под Java / main / resources. В Eclipse все работало нормально, но я не мог получить доступ к этим плагинам через Maven. После копирования этих файлов во временную папку и загрузки их оттуда все работало даже из Maven.

Спасибо за вашу помощь

Автор: kirschmichel Размещён: 03.12.2012 11:22

0 плюса

4386 Репутация автора

Если вы обновили Firefox и Selenium до последних версий, пытаясь решить эту проблему, и все еще сталкиваетесь с этой проблемой, возможно, вы обновили Firefox с помощью «Перезапустить для обновления».

Завершите работу Firefox и убедитесь, что исполняемый файл Firefox больше не работает. Тогда попробуйте свой тест. Это должно работать сейчас.

Я предполагаю, что это связано с тем, когда именно двоичный файл Firefox обновляется, когда вы используете «Restart to Update»

Автор: Rajesh J Advani Размещён: 17.12.2013 01:57

1 плюс

16 Репутация автора

У нас была похожая проблема, которая появилась после обновлений Linux. Мы протестировали множество комбинаций версий селен (2.42.2 и 2.43.1) и Firefox (27.0.1–32.0.2), но проблема всегда присутствовала.

Мы находимся под OpenMandriva, а проект находится под Eclipse и Maven.

Мы нашли для нас решение, которое должно было заменить следующую зависимость maven.

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.43.1</version>
    </dependency>   

по всем следующим:

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.43.1</version>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-support</artifactId>
        <version>2.43.1</version>
    </dependency>   

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-api</artifactId>
        <version>2.43.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.5</version>
    </dependency>

Интересно, скрывает ли это решение реальную проблему?

Автор: Eric Klumpp Размещён: 24.09.2014 02:21

-2 плюса

9 Репутация автора

Та же проблема возникает и тогда, когда на диске, где находится папка кеша Firefox, нет свободного места. Просто освободите место и запустите ваши скрипты!

Автор: Lexuslll Размещён: 06.10.2014 08:34

0 плюса

18 Репутация автора

У меня была эта проблема с Firefox 36, также люди сталкивались с тем же в 35 и 44.

В заключение обновите Firefox до 37 или понизьте его до 33.

Автор: Tarek Radwan Размещён: 01.04.2015 01:13

-1 плюса

1 Репутация автора

Не удается найти firefoxbinary path. Пожалуйста, установите путь Firefox перед использованием драйвера Firefox.

System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
Автор: Wendy Hu Размещён: 24.08.2015 09:52

0 плюса

1873 Репутация автора

После некоторой борьбы с этим и попытки большинства (если не всех) опций, перечисленных здесь, я, наконец, избавился от этой ошибки, удалив неиспользуемый JAR - ios-server-0.6.5-jar-with-dependencies.jarв моем пути сборки, и используя комбинацию jar FF34и селена 2.48.2.

Просто хотел опубликовать это как еще один вариант на случай, если кто-нибудь столкнется с этой изнурительной проблемой.

Автор: rs79 Размещён: 25.11.2015 09:31

0 плюса

1 Репутация автора

my recommendation is 

    ===> switch to firefox version 50.0 [latest One] , 

    ===> download the gecko driver from [.](https://github.com/mozilla/geckodriver/releases)  and 

    ===> Selenium version 3.0.1
     <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>3.0.1</version>
     </dependency>

    ==> On your Code 
private WebDriver driver;
System.setProperty("webdriver.gecko.driver", "PATH to GECKO DRIVER");
        driver = new FirefoxDriver();

    and yes you see the below output in your console :


    Dec 17, 2016 6:40:45 PM org.openqa.selenium.remote.ProtocolHandshake createSession
    INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
    14819XXXXXXX5   mozprofile::profile INFO    Using profile path C:\Users\User\AppData\Local\XXXXX\rust_XXXprofile.OXXXXXXXXXXX7S
    148XXXXXXXXX0   geckodriver::marionette INFO    Starting browser C:\Program Files\Mozilla Firefox\firefox.exe
    148XXXXXXXXX1   geckodriver::marionette INFO    Connecting to Marionette on localhost:XXXXXXX
    148198XXXX077   Marionette  INFO    Listening on port 53532
    Dec 17, 2016 6:40:55 PM org.openqa.selenium.remote.ProtocolHandshake createSession
    INFO: Detected dialect: W3C
    [Child 4104] ###!!! ABORT: Aborting on channel error.: file c:/builds/moz2_slave/m-rel-w32-00000000000000000000/build/src/ipc/glue/MessageChannel.cpp, line XXXX
    Dec 17, 2016 6:41:13 PM org.openqa.selenium.os.UnixProcess destroy
Автор: ABDUL IMRAN Размещён: 17.12.2016 01:25

0 плюса

1 Репутация автора

Попробуйте использовать последнюю версию сервера Selen. Вам необходимо проверить совместимость браузера и сервера Selen.

    <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
    </dependency> 
Автор: jyoti singh Размещён: 11.08.2019 07:28
Вопросы из категории :
32x32