Мы пытаемся настроить среду автоматического тестирования для веб-приложения. Это веб-приложение будет размещено на сервере 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.