Package: firefoxdriver
Version: 3.14.1-1
Severity: grave
Justification: unusable by everyone 

This is what happens when you try to use firefoxdriver in the most
obvious way from python on buster:

| $ dpkg -l python3-selenium
| ...
| ii  python3-selenium 3.14.1+dfsg1-1 all          Python3 bindings for Selenium
| $ python3
| Python 3.7.3 (default, Apr  3 2019, 05:39:12)
| [GCC 8.3.0] on linux
| Type "help", "copyright", "credits" or "license" for more information.
| >>> import selenium.webdriver
| >>> selenium.webdriver.Firefox()
| Traceback (most recent call last):
|   File "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", 
line 76, in start
|     stdin=PIPE)
|   File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
|     restore_signals, start_new_session)
|   File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
|     raise child_exception_type(errno_num, err_msg, err_filename)
| FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver': 
'geckodriver'
| 
| During handling of the above exception, another exception occurred:
| 
| Traceback (most recent call last):
|   File "<stdin>", line 1, in <module>
|   File 
"/usr/lib/python3/dist-packages/selenium/webdriver/firefox/webdriver.py", line 
164, in __init__
|     self.service.start()
|   File "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", 
line 83, in start
|     os.path.basename(self.path), self.start_error_message)
| selenium.common.exceptions.WebDriverException: Message: 'geckodriver' 
executable needs to be in PATH.
| 
| >>>

A little research reveals that this problem already has surfaced
elsewhere e.g. at
https://askubuntu.com/questions/1104721/sudo-apt-install-firefoxdriver-does-what.
A more detailed answer at
https://stackoverflow.com/questions/43272919/difference-between-webdriver-firefox-marionette-webdriver-gecko-driver/43920453
indicates that the extenstion-powered method employed by firefoxdriver
only works until firefox 47. Later versions need "marionette" which
usually manifestst as "geckodriver" which is missing from the
firefoxdriver package.

Given that even old-old-stable has firefox 52 already, I think we can
safely conclude that the present firefoxdriver is broken for everyone.

For unstable, I guess geckodriver needs to be packaged. For buster it
may be best to simply remove the package in a point release.

Also an autopkgtest would be a very good addition for this package to
catch similar issues earlier.

Helmut

Reply via email to