Difference between revisions of "Setting up Selenium on Cygwin"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) (Created page with '=Using Selenium with Cygwin= Category:Cygwin Category:Selenium') |
PeterHarding (talk | contribs) |
||
Line 1: | Line 1: | ||
=Using Selenium with Cygwin= | =Using Selenium with Cygwin= | ||
==Errors== | |||
Path issue - script cannot find the browser to invoke it. | |||
See notes: | |||
http://chibimagic.wordpress.com/2011/07/28/selenium-server-2-0-on-mac-os-xwindows-with-custom-firefox-path/ | |||
Run something like: | |||
strace -f -o /tmp/log.strace java -jar selenium-server-standalone-2.5.0.jar | |||
grep -i stat /tmp/log.strace | |||
to track down file / path problems... | |||
<pre> | |||
> | |||
> Got all the required bits installed on my workstation (I think) - with | |||
> Python 2.6. | |||
> | |||
> Got the following error when I ran the script I captured yesterday. | |||
> | |||
> $ ./tst_02.py | |||
> E | |||
> ====================================================================== | |||
> ERROR: test_tst02 (__main__.Tst02) | |||
> ---------------------------------------------------------------------- | |||
> Traceback (most recent call last): | |||
> File "./tst_02.py", line 12, in setUp | |||
> self.driver = webdriver.Firefox() | |||
> File | |||
> "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we | |||
> bd river/firefox/webdriver.py", line 46, in __init__ | |||
> self.binary, timeout), | |||
> File | |||
> "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we | |||
> bd river/firefox/extension_connection.py", line 46, in __init__ | |||
> self.binary.launch_browser(self.profile) | |||
> File | |||
> "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we | |||
> bd river/firefox/firefox_binary.py", line 43, in launch_browser | |||
> self._start_from_profile_path(self.profile.path) | |||
> File | |||
> "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we | |||
> bd river/firefox/firefox_binary.py", line 64, in | |||
> _start_from_profile_path | |||
> Popen([self._start_cmd, "-silent"], stdout=PIPE, stderr=PIPE).wait() | |||
> File "/usr/lib/python2.6/subprocess.py", line 633, in __init__ | |||
> errread, errwrite) | |||
> File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child | |||
> raise child_exception | |||
> AttributeError: 'NoneType' object has no attribute 'rfind' | |||
> | |||
> ---------------------------------------------------------------------- | |||
> Ran 1 test in 1.337s | |||
> | |||
> FAILED (errors=1) | |||
> | |||
> | |||
> Standalone server is running in the background: | |||
> | |||
> $ javaw -jar selenium-server-standalone-2.5.0.jar & | |||
> | |||
> xxx 5780 2216 1 11:45:01 | |||
> /cygdrive/c/Progra~1/Java/jdk1.6.0_23/bin/javaw | |||
> | |||
> Maybe I need to start with a simpler example to make sure all the | |||
> pre-requisites are working OK. | |||
> | |||
> | |||
> -----Original Message----- | |||
> Sent: Tuesday, 30 August, 2011 3:43 PM | |||
> Subject: http://code.google.com/p/selenium/wiki/PythonBindings | |||
> | |||
> http://code.google.com/p/selenium/wiki/PythonBindings | |||
> | |||
> The python bindings for Selenium 2 are now available. The bindings | |||
> include the full functionality of Selenium 1 and 2 (WebDriver). The | |||
> package currently supports the Remote, Firefox, Chrome and IE | |||
> protocols natively. | |||
> | |||
> > note : Currently Selenium only supports Python 2.6 and Python 2.7 | |||
> | |||
> Am using Python 2.6 on my workstation... | |||
> | |||
> | |||
> > If using selenium 1, before attempting to run a test, be sure to | |||
> download the Selenium Server jar file, and run it via | |||
> | |||
> > java -jar selenium-server-standalone.jar | |||
> | |||
> I take it this would suffice: | |||
> | |||
> $ javaw -jar selenium-server-standalone-2.5.0.jar & | |||
> | |||
> > in your terminal/cmd prompt, before attempting to run a test. | |||
> > Selenium | |||
> 2 however, does not require the jar file. | |||
> | |||
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
> | |||
> | |||
> $ pip install selenium | |||
> Requirement already satisfied (use --upgrade to upgrade): selenium in | |||
> /usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg | |||
> Requirement already satisfied (use --upgrade to upgrade): | |||
> rdflib==3.1.0 in /usr/lib/python2.6/site-packages (from selenium) | |||
> Cleaning up... | |||
> | |||
> I installed from the Selenium-2.5.0 I downloaded yesterday. | |||
> | |||
> | |||
> | |||
> $ ./tst.py | |||
> Traceback (most recent call last): | |||
> File "./tst.py", line 6, in <module> | |||
> driver = webdriver.Firefox() | |||
> File | |||
> "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we | |||
> bd river/firefox/webdriver.py", line 46, in __init__ | |||
> self.binary, timeout), | |||
> File | |||
> "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we | |||
> bd river/firefox/extension_connection.py", line 46, in __init__ | |||
> self.binary.launch_browser(self.profile) | |||
> File | |||
> "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we | |||
> bd river/firefox/firefox_binary.py", line 43, in launch_browser | |||
> self._start_from_profile_path(self.profile.path) | |||
> File | |||
> "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we | |||
> bd river/firefox/firefox_binary.py", line 64, in | |||
> _start_from_profile_path | |||
> Popen([self._start_cmd, "-silent"], stdout=PIPE, stderr=PIPE).wait() | |||
> File "/usr/lib/python2.6/subprocess.py", line 633, in __init__ | |||
> errread, errwrite) | |||
> File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child | |||
> raise child_exception | |||
> AttributeError: 'NoneType' object has no attribute 'rfind' | |||
> | |||
> xxx@xxx /d/arch/Selenium | |||
> | |||
> | |||
> $ cat tst.py | |||
> #!/usr/bin/env python | |||
> | |||
> from selenium import webdriver | |||
> | |||
> | |||
> driver = webdriver.Firefox() | |||
> | |||
> | |||
> Looks like it cannot find Firefox... | |||
> | |||
> | |||
> | |||
> | |||
> http://code.google.com/p/selenium/wiki/PythonBindings | |||
> | |||
Add Firefox directory to Windows PATH in Windows Environment Variables and this will then be added to Cygwin PATH | |||
</pre> | |||
[[Category:Cygwin]] | [[Category:Cygwin]] | ||
[[Category:Selenium]] | [[Category:Selenium]] |
Revision as of 09:09, 13 November 2011
Using Selenium with Cygwin
Errors
Path issue - script cannot find the browser to invoke it.
See notes:
http://chibimagic.wordpress.com/2011/07/28/selenium-server-2-0-on-mac-os-xwindows-with-custom-firefox-path/
Run something like:
strace -f -o /tmp/log.strace java -jar selenium-server-standalone-2.5.0.jar
grep -i stat /tmp/log.strace
to track down file / path problems...
> > Got all the required bits installed on my workstation (I think) - with > Python 2.6. > > Got the following error when I ran the script I captured yesterday. > > $ ./tst_02.py > E > ====================================================================== > ERROR: test_tst02 (__main__.Tst02) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "./tst_02.py", line 12, in setUp > self.driver = webdriver.Firefox() > File > "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we > bd river/firefox/webdriver.py", line 46, in __init__ > self.binary, timeout), > File > "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we > bd river/firefox/extension_connection.py", line 46, in __init__ > self.binary.launch_browser(self.profile) > File > "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we > bd river/firefox/firefox_binary.py", line 43, in launch_browser > self._start_from_profile_path(self.profile.path) > File > "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we > bd river/firefox/firefox_binary.py", line 64, in > _start_from_profile_path > Popen([self._start_cmd, "-silent"], stdout=PIPE, stderr=PIPE).wait() > File "/usr/lib/python2.6/subprocess.py", line 633, in __init__ > errread, errwrite) > File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child > raise child_exception > AttributeError: 'NoneType' object has no attribute 'rfind' > > ---------------------------------------------------------------------- > Ran 1 test in 1.337s > > FAILED (errors=1) > > > Standalone server is running in the background: > > $ javaw -jar selenium-server-standalone-2.5.0.jar & > > xxx 5780 2216 1 11:45:01 > /cygdrive/c/Progra~1/Java/jdk1.6.0_23/bin/javaw > > Maybe I need to start with a simpler example to make sure all the > pre-requisites are working OK. > > > -----Original Message----- > Sent: Tuesday, 30 August, 2011 3:43 PM > Subject: http://code.google.com/p/selenium/wiki/PythonBindings > > http://code.google.com/p/selenium/wiki/PythonBindings > > The python bindings for Selenium 2 are now available. The bindings > include the full functionality of Selenium 1 and 2 (WebDriver). The > package currently supports the Remote, Firefox, Chrome and IE > protocols natively. > > > note : Currently Selenium only supports Python 2.6 and Python 2.7 > > Am using Python 2.6 on my workstation... > > > > If using selenium 1, before attempting to run a test, be sure to > download the Selenium Server jar file, and run it via > > > java -jar selenium-server-standalone.jar > > I take it this would suffice: > > $ javaw -jar selenium-server-standalone-2.5.0.jar & > > > in your terminal/cmd prompt, before attempting to run a test. > > Selenium > 2 however, does not require the jar file. > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > $ pip install selenium > Requirement already satisfied (use --upgrade to upgrade): selenium in > /usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg > Requirement already satisfied (use --upgrade to upgrade): > rdflib==3.1.0 in /usr/lib/python2.6/site-packages (from selenium) > Cleaning up... > > I installed from the Selenium-2.5.0 I downloaded yesterday. > > > > $ ./tst.py > Traceback (most recent call last): > File "./tst.py", line 6, in <module> > driver = webdriver.Firefox() > File > "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we > bd river/firefox/webdriver.py", line 46, in __init__ > self.binary, timeout), > File > "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we > bd river/firefox/extension_connection.py", line 46, in __init__ > self.binary.launch_browser(self.profile) > File > "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we > bd river/firefox/firefox_binary.py", line 43, in launch_browser > self._start_from_profile_path(self.profile.path) > File > "/usr/lib/python2.6/site-packages/selenium-2.5.0-py2.6.egg/selenium/we > bd river/firefox/firefox_binary.py", line 64, in > _start_from_profile_path > Popen([self._start_cmd, "-silent"], stdout=PIPE, stderr=PIPE).wait() > File "/usr/lib/python2.6/subprocess.py", line 633, in __init__ > errread, errwrite) > File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child > raise child_exception > AttributeError: 'NoneType' object has no attribute 'rfind' > > xxx@xxx /d/arch/Selenium > > > $ cat tst.py > #!/usr/bin/env python > > from selenium import webdriver > > > driver = webdriver.Firefox() > > > Looks like it cannot find Firefox... > > > > > http://code.google.com/p/selenium/wiki/PythonBindings > Add Firefox directory to Windows PATH in Windows Environment Variables and this will then be added to Cygwin PATH