Încercăm să setăm un mediu de testare a automatizării pentru o aplicație web. Această aplicație web va fi găzduită pe serverul Ubuntu. În mediul QA, încercăm să efectuăm teste automate.
Informațiile despre mediu sunt următoarele:
- Sistem de operare: Ubuntu 20.04 și/sau 21.04
- Limbajul de programare utilizat: Python3 (3.8.10)
- Instrument de automatizare: seleniu
- Browser dorit: MS Edge
Flexibilitate:
Putem folosi versiuni diferite de Python sau Ubuntu pentru ca acest lucru să funcționeze, dar deoarece MS Edge este browserul preferat de client, care nu poate fi înlocuit cu Firefox sau alt browser disponibil. Deși putem folosi versiuni diferite de edge, dacă funcționează. Și putem testa același lucru în browserul Chrome cu succes.
Putem folosi diferite distribuții Linux atâta timp cât este o versiune stabilă.
Ce am încercat deja?
De asemenea, am încercat să urmăm aceleași instrucțiuni ca și noi pentru Chrome. Pentru instalarea driverului Chrome am urmat „https://www.thenerdlife.com/blog/how-to-install-chromedriver-on-ubuntu/”. Așa că am făcut același lucru pentru edge și am înlocuit „chromedriver” cu „msedgedriver” în script.
Am instalat MS Edge (DEV v93.0.933.1) pe Ubuntu 20.04. În ceea ce privește webdriver, l-am găsit pe „https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/” și am copiat fișierul în aceeași locație ca fișierul de testare Python.
De asemenea, am încercat să redenumim „msedgedriver” în „MicrosoftWebDriver.exe” (fișierul care a fost plasat cu programul Python). Venind din fundal Windows, acest lucru funcționează de obicei.
Programul Python
de la selenium import webdriver
driver = webdriver.Edge()
driver.get('https://www.google.com/')
> Traceback (cel mai recent apel ultimul):
Fișierul „/home/devang/.local/lib/python3.8/site-packages/selenium/webdriver/common/service.py”, linia 72, la început
self.process = subprocess.Popen(cmd, env=self.env,
Fișierul „/usr/lib/python3.8/subprocess.py”, linia 858, în __init__
self._execute_child(args, executabil, preexec_fn, close_fds,
Fișierul „/usr/lib/python3.8/subprocess.py”, linia 1704, în _execute_child
ridicați tipul_excepție_fii(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] Nu există un astfel de fișier sau director: „MicrosoftWebDriver.exe”
În timpul gestionării excepției de mai sus, a apărut o altă excepție:
Traceback (cel mai recent apel ultimul):
Fișierul „/home/devang/GitHub/AutomationSampleTest/ieEdgeBrowse.py”, linia 3, în <modul>
driver = webdriver.Edge()
Fișierul „/home/devang/.local/lib/python3.8/site-packages/selenium/webdriver/edge/webdriver.py”, linia 56, în __init__
self.edge_service.start()
Fișierul „/home/devang/.local/lib/python3.8/site-packages/selenium/webdriver/common/service.py”, linia 81, la început
ridicați WebDriverException(
selenium.common.exceptions.WebDriverException: Mesaj: executabilul „MicrosoftWebDriver.exe” trebuie să fie în PATH. Vă rugăm să descărcați de la http://go.microsoft.com/fwlink/?LinkId=619687
EDITAȚI | ×
De asemenea, am încercat următorul cod pentru a trece locația fișierului driverului:
de la selenium import webdriver
din selenium.webdriver.edge.options import Options
options = webdriver.EdgeOptions()
options.use_chromium = Adevărat
options.binary_location = "/home/devang/GitHub/AutomationSampleTest/msedgedriver"
driver = webdriver.Edge (opțiuni = opțiuni)
driver.get('https://www.google.com/')
Pentru codul de mai sus, aruncă o eroare diferită:
Traceback (cel mai recent apel ultimul):
Fișierul „/home/devang/GitHub/AutomationSampleTest/ieEdgeBrowse.py”, linia 3, în <modul>
options = webdriver.EdgeOptions()
AttributeError: modulul „selenium.webdriver” nu are atributul „EdgeOptions”
Întrebare:
Este chiar posibil să faceți testare automată pentru MS Edge în Ubuntu folosind Python3 și Selenium?
Daca da atunci cum? Vă rugăm să împărțiți-l în pași simpli de urmat, deoarece sunt un nou utilizator Ubuntu.