У меня есть следующий код для запуска тестов в различных браузерах. Chrome, конечно, работает правильно на компьютере, на котором я хочу запустить эти тесты, однако Firefox, IE и Edge - нет. Это правильный путь? Я бы предпочел, чтобы у меня не было файла, который я должен загружать и менять каждые пару месяцев при обновлении браузера.
def __init__(self, browser: str = TESTING_BROWSER, home: str = BASE_URL):
"""Hooray for inits."""
if browser.lower() == "ie":
webdriver.Ie.__init__(self, IEDriverManager().install())
elif browser.lower() == 'edge':
webdriver.Edge().__init__(self, EdgeDriverManager().install())
elif browser.lower() == "firefox":
webdriver.Firefox.__init__(self, GeckoDriverManager().install())
else:
chrome_options = Options()
if os.environ.get('RUN_HEADLESS') == 'True':
chrome_options.add_argument('--headless')
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
webdriver.Chrome.__init__(self, ChromeDriverManager().install(), chrome_options=chrome_options)
else:
webdriver.Chrome.__init__(self, ChromeDriverManager().install())
В качестве примечания при попытке запустить Firefox я получаю следующую ошибку:
NotADirectoryError: [Errno 20] Not a directory: '/Users/me/.wdm/geckodriver/v0.24.0/macos/geckodriver'
Я попытался добавить executable_path=path to geckodriver
, и это тоже не работает.