2010-08-02 4 views
0

я получаю следующие ошибки при запуске основной Selenium тестовый скрипт в Python:Исключение: Не удалось запустить новый сеанс браузера: Ошибка при запуске браузера Селен в Python

====================================================================== 
ERROR: test_untitled (__main__.TestTesting) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "TestTesting.py", line 15, in setUp 
    self.selenium.start() 
    File "/usr/lib/python2.6/dist-packages/selenium.py", line 166, in start 
    result = self.get_string("getNewBrowserSession", [self.browserStartCommand, self.browserURL]) 
    File "/usr/lib/python2.6/dist-packages/selenium.py", line 195, in get_string 
    result = self.do_command(verb, args) 
    File "/usr/lib/python2.6/dist-packages/selenium.py", line 191, in do_command 
    raise Exception, data 
Exception: Failed to start new browser session: Error while launching browser 

---------------------------------------------------------------------- 
Ran 1 test in 20.427s 

FAILED (errors=1) 

код был создан из Selenium IDE , firefox plug in, поэтому я не уверен, почему он не работает. Я предполагаю, что какая-то конфигурация неверна, но я не уверен. Вот мой код:

from selenium import selenium 

class TestTesting(unittest.TestCase): 
    def setUp(self): 
     self.verificationErrors = [] 
     self.selenium = selenium("localhost", 4444, "*firefox", "http://www.google.com/") 
     self.selenium.start() 

    def test_untitled(self): 
     sel = self.selenium 
     sel.open("/firefox?client=firefox-a&rls=org.mozilla:en-US:official") 
     sel.type("sf", "test") 
     sel.click("btnG") 
     sel.wait_for_page_to_load("30000") 

    def tearDown(self): 
     self.selenium.stop() 
     self.assertEqual([], self.verificationErrors) 

if __name__ == "__main__": 
    unittest.main() 

Сервер работает на Ubuntu.

Как я могу избежать этой ошибки?

ответ

2

Исправление, которое я получил, чтобы работать, было то, что дисплей для firefox не был установлен. Поэтому мне потребовалось выполнить следующее заявление:

export DISPLAY=:0 

Перед тем, как я запустил сервер Selenium. Это решает проблему, но возникла новая.

+0

Я использовал это исправить изначально, и это фиксированная часть моего вопроса. Также была проблема, возможно, версия, где сеанс возвращался как uuid, но в selenium.py было занесено это как длинное ... создавшее проблемы. Таким образом работала комбинация экспорта DISPLAY и фиксации отливки. – Phegan

0

Обычно это происходит, когда другой firefox уже открыт. т. е. вы используете конкретный профиль FF для приложения tet. Когда вы запустите скрипт, закройте FF.

+1

К сожалению, это было не так, это произойдет, даже если FF абсолютно не работает. – Phegan

0

Временно запуска сервера селена, как корень сделал трюк для меня:

sudo java -jar selenium-server.jar 
Смежные вопросы

 Смежные вопросы