Рейтинг:0

Как установить драйвер Microsoft Edge для тестирования селена в Python 3?

флаг cn

Мы пытаемся настроить среду автоматического тестирования для веб-приложения. Это веб-приложение будет размещено на сервере Ubuntu. В среде QA мы пытаемся выполнить автоматическое тестирование.

Информация об окружающей среде приведена ниже:

  • Операционная система: Ubuntu 20.04 и/или 21.04
  • Используемый язык программирования: Python3 (3.8.10)
  • Инструмент автоматизации: Selenium
  • Желаемый браузер: MS Edge

Гибкость:

Мы можем использовать другую версию Python или Ubuntu, чтобы это работало, но, поскольку MS Edge является предпочтительным браузером клиента, его нельзя заменить на Firefox или другой доступный браузер. Хотя мы можем использовать другую версию Edge, если она работает. И мы можем успешно протестировать то же самое в браузере Chrome. Мы можем использовать разные дистрибутивы Linux, если это стабильная версия.

Что мы уже пробовали?

Также попытался выполнить ту же инструкцию, что и для хрома. Для установки драйвера Chrome мы использовали «https://www.thenerdlife.com/blog/how-to-install-chromedriver-on-ubuntu/». Поэтому мы сделали то же самое для края и заменили «chromedriver» на «msedgedriver» в сценарии.

Мы установили MS Edge (DEV v93.0.933.1) на Ubuntu 20.04. Что касается веб-драйвера, мы нашли его на «https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/» и скопировали файл в то же место, что и тестовый файл python.

Мы также попытались переименовать «msedgedriver» в «MicrosoftWebDriver.exe» (файл, который был помещен с программой python). Исходя из фона Windows, эта вещь обычно работает.

программа Python

из веб-драйвера импорта селена
драйвер = webdriver.Edge()
driver.get('https://www.google.com/')
> Traceback (последний последний вызов):
  Файл "/home/devang/.local/lib/python3.8/site-packages/selenium/webdriver/common/service.py", строка 72, в начале
    self.process = subprocess.Popen(cmd, env=self.env,
  Файл "/usr/lib/python3.8/subprocess.py", строка 858, в __init__
    self._execute_child (аргументы, исполняемый файл, preexec_fn, close_fds,
  Файл "/usr/lib/python3.8/subprocess.py", строка 1704, в _execute_child
    поднять child_exception_type (errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] Нет такого файла или каталога: «MicrosoftWebDriver.exe»
Во время обработки вышеупомянутого исключения произошло другое исключение:
Traceback (последний последний вызов):
  Файл "/home/devang/GitHub/AutomationSampleTest/ieEdgeBrowse.py", строка 3, в <module>
    драйвер = webdriver.Edge()
  Файл "/home/devang/.local/lib/python3.8/site-packages/selenium/webdriver/edge/webdriver.py", строка 56, в __init__
    self.edge_service.start ()
  Файл "/home/devang/.local/lib/python3.8/site-packages/selenium/webdriver/common/service.py", строка 81, в начале
    поднять исключение WebDriverException(
selenium.common.exceptions.WebDriverException: Сообщение: исполняемый файл «MicrosoftWebDriver.exe» должен находиться в PATH. Пожалуйста, загрузите с http://go.microsoft.com/fwlink/?LinkId=619687.

РЕДАКТИРОВАТЬ Также попробовал следующий код для передачи местоположения файла драйвера:

из веб-драйвера импорта селена
из параметров импорта selenium.webdriver.edge.options
параметры = webdriver.EdgeOptions()
options.use_chromium = Истина
options.binary_location = "/home/devang/GitHub/AutomationSampleTest/msedgedriver"
драйвер = webdriver.Edge (параметры = параметры)
driver.get('https://www.google.com/') 

Для приведенного выше кода выдается другая ошибка:

Traceback (последний последний вызов):
  Файл "/home/devang/GitHub/AutomationSampleTest/ieEdgeBrowse.py", строка 3, в <module>
    параметры = webdriver.EdgeOptions()
AttributeError: модуль «selenium.webdriver» не имеет атрибута «EdgeOptions»

Вопрос:

Возможно ли вообще провести автоматическое тестирование MS Edge в Ubuntu с использованием Python3 и Selenium?

Если да, то как? Пожалуйста, разбейте его на небольшие простые шаги, поскольку я новый пользователь Ubuntu.

muru avatar
флаг us
Вы пытались установить путь к файлу `msedgedriver` с помощью `options.binary_location` (как в https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=python#choose- конкретные-браузерные-бинарные-только-Chromium)? Является ли файл исполняемым?
Devang avatar
флаг cn
@muru Этот шаг предназначен для ОС Windows. Как мне сделать то же самое для ubuntu? Я также упомянул ссылку, откуда я его скачал. Но это не .exe, так как это для Linux.
muru avatar
флаг us
Что-то вроде `options.binary_location = "/path/to/msedgedriver"`, предположительно.
Devang avatar
флаг cn
У меня есть обновление кода и ошибка, которую он ставит под сомнение. «msedgedriver» — это файл. Этот файл не имел никакого расширения. Я полагаю, так работает Ubuntu ... Еще раз, я также выполнил упоминание этой команды в ссылке @muru, предоставленной «pip install msedge-selenium-tools selenium == 3.141»

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.