Puncte:0

Cum instalez driverul Microsoft Edge pentru testarea seleniului în Python 3?

drapel cn

Î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.

muru avatar
drapel us
Ați încercat să setați calea către fișierul `msedgedriver` folosind `options.binary_location` (ca în https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=python#choose- specific-browser-binare-doar Chrome)? Este fișierul executabil?
Devang avatar
drapel cn
@muru Acest pas este pentru sistemul de operare Windows. Cum fac la fel pentru ubuntu? Am menționat și linkul de unde l-am descărcat. Dar nu este .exe, deoarece acesta este pentru Linux.
muru avatar
drapel us
Ceva de genul `options.binary_location = "/path/to/msedgedriver"`, probabil.
Devang avatar
drapel cn
Am actualizat codul și eroarea pe care o pune în discuție. „msedgedriver” este fișierul. Acest fișier nu avea nicio extensie. Presupun că așa funcționează Ubuntu... Încă o dată, am executat și această mențiune de comandă în linkul furnizat de @muru „pip install msedge-selenium-tools selenium==3.141”

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.