Skip to content

Commit cd7af6a

Browse files
committed
Use the correct binary path when using Marionette
1 parent 121f031 commit cd7af6a

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

py/selenium/webdriver/firefox/webdriver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def __init__(self, firefox_profile=None, firefox_binary=None, timeout=30,
5656
self.binary = firefox_binary or capabilities.get("binary", FirefoxBinary())
5757

5858
self.options = firefox_options or Options()
59-
self.options.binary_location = self.binary if isinstance(self.binary, basestring) else self.binary._get_firefox_start_cmd()
59+
self.options.binary_location = self.binary if isinstance(self.binary, basestring) else self.binary._start_cmd
6060
self.options.profile = self.profile
6161
capabilities.update(self.options.to_capabilities())
6262

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Licensed to the Software Freedom Conservancy (SFC) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The SFC licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
import pytest
19+
from selenium import webdriver
20+
from selenium.common.exceptions import WebDriverException
21+
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
22+
23+
24+
class TestMarionetteBinary:
25+
26+
def test_invalid_binary_str(self):
27+
capabilities = {'marionette': True}
28+
with pytest.raises(WebDriverException) as excinfo:
29+
self.driver = webdriver.Firefox(
30+
capabilities=capabilities,
31+
firefox_binary='foo')
32+
assert 'entity not found' in str(excinfo.value)
33+
34+
def test_invalid_binary_obj(self):
35+
capabilities = {'marionette': True}
36+
with pytest.raises(WebDriverException) as excinfo:
37+
self.driver = webdriver.Firefox(
38+
capabilities=capabilities,
39+
firefox_binary=FirefoxBinary(firefox_path='foo'))
40+
assert 'entity not found' in str(excinfo.value)
41+
42+
def teardown_method(self, method):
43+
try:
44+
self.driver.quit()
45+
except:
46+
pass

0 commit comments

Comments
 (0)