I'm having trouble starting SeleniumRC from Django. I can run the sample code provided by Selenium docs and the python selenium client docs is just fine in the Python shell without running Django (so without manage.py), but when I actually try to run Selenium from django TestCase or from Django shell, I I get a timeout error. Here is the code I'm trying to run:
from selenium import selenium from django.test import TestCase class TestSelenium(TestCase): def setUp(self): self.verificationErrors = [] self.selenium = selenium("localhost", 4444, "*firefox", "http://127.0.0.1:8000/") self.selenium.start() def test_foo(self): sel = self.selenium sel.open("/")
Running with control registration manage.py.TestSelenium raises the following error:
====================================================================== ERROR: test_testformmaintainsdata (registration.tests.TestSelenium) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/sam/Documents/dev/app/CustomMade/registration/tests.py", line 158, in setUp self.selenium.start() File "/usr/local/lib/python2.6/dist-packages/selenium/selenium.py", line 189, in start result = self.get_string("getNewBrowserSession", start_args) File "/usr/local/lib/python2.6/dist-packages/selenium/selenium.py", line 223, in get_string result = self.do_command(verb, args) File "/usr/local/lib/python2.6/dist-packages/selenium/selenium.py", line 214, in do_command response = conn.getresponse() File "/usr/lib/python2.6/httplib.py", line 990, in getresponse response.begin() File "/usr/lib/python2.6/httplib.py", line 391, in begin version, status, reason = self._read_status() File "/usr/lib/python2.6/httplib.py", line 349, in _read_status line = self.fp.readline() File "/usr/lib/python2.6/socket.py", line 427, in readline data = recv(1) timeout: timed out ---------------------------------------------------------------------- Ran 1 test in 12.475s FAILED (errors=1) Destroying test database 'default'...
The strange thing is that even though the error is triggered and Python stops, the SeleniumRC server does start Firefox, but then I can not run further Selenium commands because Django stopped. This is the result of SeleniumServer:
14:21:48.362 INFO - Checking Resource aliases 14:21:48.369 INFO - Command request: getNewBrowserSession[*firefox, http://127.0.0.1:8000/, ] on session null 14:21:48.372 INFO - creating new remote session 14:21:48.443 INFO - Allocated session a3ea05a3d0eb4956ba69a67583ea49ba for http://127.0.0.1:8000/, launching... 14:21:48.533 INFO - Preparing Firefox profile... 14:21:51.473 INFO - Launching Firefox... 14:21:55.904 INFO - Got result: OK,a3ea05a3d0eb4956ba69a67583ea49ba on session a3ea05a3d0eb4956ba69a67583ea49ba
Does anyone have any ideas?