Когда я запускаю скрипт selenium RC, у меня не получается запустить новый браузер, Firefox 3 не может быть найден в пути! - PullRequest
6 голосов
/ 12 марта 2011

Когда я запускаю скрипт, я получаю следующую ошибку ...

Я вставил местоположение firefox в путь к системной переменной ...
Тем не менее я получаю следующую ошибку:

java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: java.lang.RuntimeException: Firefox 3 could not be found in the path!
Please add the directory containing ''firefox.exe'' to your PATH environment
variable, or explicitly specify a path to Firefox 3 like this:
*firefox3c:\blah\firefox.exe
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:89)
at com.example.tests.flightbooking.setUp(flightbooking.java:13)
at junit.framework.TestCase.runBare(TestCase.java:128)
at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:212)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: com.thoughtworks.selenium.SeleniumException: Failed to start new browser session: java.lang.RuntimeException: Firefox 3 could not be found in the path!
Please add the directory containing ''firefox.exe'' to your PATH environment
variable, or explicitly specify a path to Firefox 3 like this:
*firefox3c:\blah\firefox.exe
at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
at com.thoughtworks.selenium.HttpCommandProcessor.getString(HttpCommandProcessor.java:262)
at com.thoughtworks.selenium.HttpCommandProcessor.start(HttpCommandProcessor.java:223)
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:81)
... 16 more

Ответы [ 11 ]

7 голосов
/ 25 февраля 2012

Есть два способа исправить это с помощью Firefox:

  1. Добавьте путь firefox в переменную Envirometal PATH, например

    E:\Program files\mozilla firefox\firefox.exe

  2. Добавить абсолютный путь в тестовом скрипте, например:

    selenium = new DefaultSelenium("localhost", 4444, "*firefox E:\\Program files\\mozilla firefox\\firefox.exe", "http://testWebsite.com")

4 голосов
/ 10 апреля 2011

Если вы тестируете Google Chrome и в своих тестах используете *chrome в качестве браузера, тогда это обсуждение полезно:

Как запустить Google Chrome с Selenium RC?

Спойлер: Изменить *chrome на *googlechrome.

1 голос
/ 11 августа 2011

Укажите абсолютный путь к исполняемому каталогу Firefox (с пробелом между именем браузера и путем): *firefox /path/to/dir

0 голосов
/ 30 марта 2016

Попробуйте установить 32-разрядную версию Firefox 42.0.Это была проблема для меня;64-битная версия не была найдена, но 32-битная была.

0 голосов
/ 29 декабря 2014

Я предлагаю вам использовать maven. Тогда это будет намного проще. Firefox поставляется с библиотекой селена. Вам просто нужно инициализировать селен банку в проект. Затем вы можете использовать это выражение.

Webdriver driver = new FirefoxDriver();

Здесь вы можете найти банку.

http://selenium -release.storage.googleapis.com / 2.44 / selenium-server-standalone-2.44.0.jar

0 голосов
/ 29 декабря 2014

Я получил ту же ошибку при попытке запустить мои тесты с использованием файла selenium-server-standalone-2.44.0.jar . Я изменил файл selenium-server-standalone-2.39.0.jar , и мои тесты работают отлично.

Я использую исходный код ниже:

@Before
public void setUp() throws Exception {
    selenium = new DefaultSelenium("localhost", 4444, "*chrome", "myURL");
    selenium.start();
}

Этот код запускает мой Firefox, даже используя "* chrome" в методе DefaultSelenium в качестве параметра.

0 голосов
/ 10 апреля 2014

Была такая же проблема и пробовал все решения, упомянутые выше.PATH в системной переменной, отдельная пользовательская переменная.Тем не менее, проблема не была решена, в конце концов она сводилась к тому, что Firefox не был моим браузером по умолчанию.

Опция в Eclipse, Window-> Preferences-> General-> WebBrowser была установлена ​​на - использовать внутренний веб-браузер и системный веб-браузер по умолчанию.Отсюда и все проблемы.После того, как он переключился на Firefox, он начал работать.

Потраченный впустую почти 2 часа на попытки выяснить это, даже не мог найти это онлайн.Так что нашел, что стоит опубликовать здесь.:)

0 голосов
/ 24 октября 2013

Я мог бы решить проблему в Windows 7 путем изменения системной переменной : путь

1> изменить системные переменные -Путь.

Для Windows 7: {Предполагается, что файл firefox.exe находится в каталоге: C: \ Program Files (x86) \ Mozilla Firefox \ firefox.exe}

  • Компьютер (щелкните правой кнопкой мыши) -> Свойства -> Расширенные настройки системы -> Переменные среды -> Системные переменные -> Путь -> Двойной щелчок по нему -> Изменить системную переменную (всплывающее окно)

  • Перейти к концу значения переменной Добавить точку с запятой;если он не существует;

  • добавьте строку: * firefox (укажите пробел) Путь к каталогу, в котором находится файл firefox.exe.Не добавляйте firefox.exe в путь.
    * пример: EXISTING_PATH; * firefox C: \ Program Files (x86) \ Mozilla Firefox *


Другой способ решения проблемы: ( Внимание : я использую старый селеновый jar. Переменная / имя файла может не совпадать)

Класс SeleniumSystemObject содержит параметр webBrowser.Он либо выбирает значение из переменной среды, либо ему может быть предоставлен абсолютный путь.

Отредактируйте переменную 'webBrowser' в классе SeleniumSystemObject, чтобы указать абсолютный путь для веб-браузера firefox в значенииПараметр webBrowser как: пример: private String webBrowser = "* firefox C: \ Program Files (x86) \ Mozilla Firefox \ firefox.exe";

0 голосов
/ 21 марта 2012

У меня была та же проблема, вызванная тем, что на конкретном VM, над которым я работаю, нет места, чтобы поместить что-либо еще на диск C:, поэтому я вместо этого использую E:.

То, что я сделал, отредактировало путь в "System -> Advanced -> Environment Variables", чтобы оно содержало:

E:\Program Files\Mozilla Firefox

так как я установил Firefox. Является ли это лучшим решением или нет, я не знаю, но он заставил селен работать.

0 голосов
/ 14 марта 2011

Я получил ту же ошибку ранее.Но я просмотрел и нашел обновленный файл jar сервера selenium.

Таким образом я решил свою проблему.

...