Skip to content

Open Browser keyword in 3.2 (and most likely 3.1 too) does not work with chromium-browser, but 3.0 works with chromium-browser.  #1243

Description

@aaltat

Steps to reproduce the issue

| Open Browser | http://google.com | Chrome | # In Linux with chromium-browser |

Error messages and additional information

Message:    WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
 (unknown error: DevToolsActivePort file doesn't exist)
 (The process started from chrome location /usr/lib/chromium-browser/chromium-browser is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
 (Driver info: chromedriver=2.44.609551 (5d576e9a44fe4c5b6a07e568f1ebc753f1214634),platform=Linux 3.10.0-693.17.1.el7.x86_64 x86_64)
00:00:01.994KEYWORD Open Google
Start / End / Elapsed:    20181122 11:52:11.601 / 20181122 11:52:13.595 / 00:00:01.994
00:00:01.993KEYWORD SeleniumLibrary . Open Browser http://google.com, Chrome
Documentation:    
Opens a new browser instance to the given url.

Start / End / Elapsed:    20181122 11:52:11.601 / 20181122 11:52:13.594 / 00:00:01.993
00:00:00.001KEYWORD SeleniumLibrary . Capture Page Screenshot
11:52:11.602    TRACE    Arguments: [ 'http://google.com' | 'Chrome' ]    
11:52:11.602    INFO    Opening browser 'Chrome' to base url 'http://google.com'.    
11:52:13.525    DEBUG    POST http://127.0.0.1:52399/session {"capabilities": {"alwaysMatch": {"browserName": "chrome", "platformName": "any"}, "firstMatch": [{}]}, "desiredCapabilities": {"platform": "ANY", "browserName": "chrome", "version": ""}}    
11:52:13.526    DEBUG    Starting new HTTP connection (1): 127.0.0.1:52399    
11:52:13.587    DEBUG    http://127.0.0.1:52399 "POST /session HTTP/1.1" 200 496    
11:52:13.587    DEBUG    Finished Request    
11:52:13.594    FAIL    WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
 (unknown error: DevToolsActivePort file doesn't exist)
 (The process started from chrome location /usr/lib/chromium-browser/chromium-browser is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
 (Driver info: chromedriver=2.44.609551 (5d576e9a44fe4c5b6a07e568f1ebc753f1214634),platform=Linux 3.10.0-693.17.1.el7.x86_64 x86_64)
11:52:13.594    DEBUG    Traceback (most recent call last):
 File "/usr/local/lib/python2.7/dist-packages/SeleniumLibrary/__init__.py", line 369, in run_keyword
   return DynamicCore.run_keyword(self, name, args, kwargs)
 File "/usr/local/lib/python2.7/dist-packages/SeleniumLibrary/base/robotlibcore.py", line 102, in run_keyword
   return self.keywords[name](*args, **kwargs)
 File "/usr/local/lib/python2.7/dist-packages/SeleniumLibrary/keywords/browsermanagement.py", line 131, in open_browser
   ff_profile_dir, remote_url)
 File "/usr/local/lib/python2.7/dist-packages/SeleniumLibrary/keywords/browsermanagement.py", line 456, in _make_driver
   remote_url=remote, profile_dir=profile_dir)
 File "/usr/local/lib/python2.7/dist-packages/SeleniumLibrary/keywords/webdrivertools.py", line 58, in create_driver
   return creation_method(desired_capabilities, remote_url)
 File "/usr/local/lib/python2.7/dist-packages/SeleniumLibrary/keywords/webdrivertools.py", line 85, in create_chrome
   options=options)
 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
   desired_capabilities=desired_capabilities)
 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
   self.start_session(capabilities, browser_profile)
 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
   response = self.execute(Command.NEW_SESSION, parameters)
 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
   self.error_handler.check_response(response)
 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
   raise exception_class(message, screen, stacktrace

Expected behavior and actual behavior

Chromium browser does not open, but it should open with SeleniumLibrary 3.2. Chromium browser

Additional information

If this is done

from selenium import webdriver

capabilities = webdriver.DesiredCapabilities.CHROME
driver = webdriver.Chrome(desired_capabilities=capabilities, options=None)
driver.get("http://www.python.org")
assert "Python" in driver.title
driver.close()

Same error is received, but if this is done

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.python.org")
assert "Python" in driver.title
driver.close()

Error is not received.

The former is what SL 3.2 Open Browser keyword does and later is what SL 3.0 Open Browser keyword does. Because of the errors with chromium-browser, we should restore the functionality SL 3.0 with opening browser.

Also Selenium will set the desired capabilities for local browsers if SL does not define desired capabilities. But for remote browsers, there is small change that feature is backwards incompatible.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions