Întrebarea de a rula suita de testare, acțiunea de la sfârșitul fiecărui - python

Tag-uri: # # # # # #

Vă rog să-mi spuneți câteva întrebări:

După fiecare test, am pus Log out, care ar testa atomii de stânga de pe pagina de autentificare și apoi efectuați toate ordinea în cazurile de testare, în cazul în care nu fac eu, următorul test nu merge bine, puteți face diferit?






Dacă expun> driver.close ()
Fereastra browserului se închide și testul următor nu pornește.
Cum puteți trece flexibil prin.

Iată altul, mai întâi a existat o problemă pentru a configura pytest, așa cum a fost configurat totul, bine, caut fiecare test din bloc (1), creând o nouă configurație. Și în Blocul 2 spuneți doar că setările arată bine sau din cauza acelei probleme și a problemei.
Mulțumesc foarte mult.

Întrebarea de a rula suita de testare, acțiunea de la sfârșitul fiecărui - python

1.png 1102x677 69.3 KB

el doar deschide ferestre noi, care atunci când trec întreaga suită vor fi mai mult de 40))

Dacă totul este bine pentru a termina, atunci va exista o astfel de schemă:

  1. Mai întâi, executați codul în setup_method (deschideți browserul, accesați pagina)
  2. Apoi, codul va fi executat în test_my_test_1 (pașii de testare pe care trebuie să îi specificați)

Apoi rulează teardown_method (închide browser-ul)

  • Cod în test_my_test_2
  • teardown_method
  • Și pentru toate metodele de testare specificate în clasă.

    def setup_method (auto, metoda):
    self.driver = webdriver.Firefox ()
    self.driver.maximize_window ()
    self.driver.get (app_url)

    așa cum merge așa

    Întrebarea de a rula suita de testare, acțiunea de la sfârșitul fiecărui - python

    testexample_py _-_ PycharmProjects _-____ PycharmProjects_.png 1019x868 118 KB

    Toate metodele de testare trebuie să fie în interiorul clasei (a se vedea liniuțele).
    Apelul către șofer în cadrul metodelor ar trebui să treacă prin pointerul propriu:

    P.S. În cazul în care PyCharm subliniază ceva în roșu, atunci se va întâmpla o eroare la pornirea scriptului. Trebuie să rezolvați aceste probleme în cod. Din câte văd, trebuie să faceți cel puțin:







    Testele trebuie să fie în interiorul clasei. Citiți despre obiectele și clasele din Python.

    În general, vă sfătuiesc să nu ucideți și să rulați browserul, ci doar să îl curățați - să ștergeți modulele cookie, spațiul de stocare a sesiunilor, spațiul de stocare local și să redescoperiți pagina înaintea fiecărui test. Deschide un browser nou - destul de mult timp.

    Mulțumesc mult, am făcut-o într-un mod normal, totul a început și este executat, chiar dacă un test a căzut, următorul începe. Numai am curățat metoda cuvântului, a fost oricum gri, iar fără ea lansarea este aceeași. Este normal?

    de la seleniul import webdriver
    driver = webdriver.Chrome ()
    timpul de import

    Problema este că numai întregul suite este lansat.
    Deși problema nu este, probabil, în acest sens,
    Există două fișiere
    testsmokeAP.py - unde sunt testele mele principale
    și test.py - unde am primul experiment cu aceste adăugiri și recomandări privind aceleași teste (unde am adăugat o clasă etc.)

    Deci, pentru fișierul testmokeAP.py (dacă rulați întreaga suită), pytest = pytest pentru testele de test este pornit. dacă separat, atunci pytest + numele testului pe care îl conduc

    Și pentru fișierul test.py (dacă rulați totul, totul este în regulă, rulați pytest = p.test pentru 11test.py) dacă rulați un test este rulat configurația de testare a secțiunii piton în configurații pentru bărbați (p.test în loc kontsiguratsii pentru 11test.py de secțiunea teste Python) Captură de ecran 3

    Întrebarea de a rula suita de testare, acțiunea de la sfârșitul fiecărui - python

    3.png 1046x693 70.4 KB


    Acest fișier este în dosarul cu pachetul
    De exemplu, când fac clic dreapta, am o alergare de Run p.test pentru testul 11test.py, din anumite motive, Run
    Deși în fișierul testmokeAP.py totul este bine

    Da, mulțumesc, voi adăuga acum la cursuri și este mai convenabil și poate fi stabilită o condiție prealabilă, acum am luat acțiunea de autentificare și nu este nevoie să o copiați în fiecare test.

    În general, vă sfătuiesc să nu ucideți și să rulați browserul, ci doar să îl curățați - să ștergeți modulele cookie, spațiul de stocare a sesiunilor, spațiul de stocare local și să redescoperiți pagina înaintea fiecărui test. Deschide un browser nou - destul de mult timp.

    Cred că este această metodă mai bună, desigur, dar nu pot scrie acest cod pe Python, ceea ce ar face o astfel de funcție, și așa mai departe, desigur, aș acum ca să ar fi, și trimiterea de verificare e-mail și dacă utilizatorul este într-adevăr eliminat bază de date și așa mai departe, dar încă nu știu cum (încă), chiar și aici sunt de acord cu voi că selectorii sunt îngrozitori. De exemplu, eu încă nu înțeleg cu adevărat cum se face în condiții de siguranță pe care am fost sigur că am creat un nou șablon și ea a apărut în această listă (captura de ecran) am vedea cât de mult am deja, și ce fel de xpath este următoarea (de exemplu, TD [11] ) Eu iau codul de la precedent doar schimba numărul.
    Apoi, prin această comandă verifică dacă șablonul a apărut în listă

    error_text = driver.find_element_by_xpath ("aici este numele elementului așteptat care apare după crearea unui nou șablon").
    afirmați error_text == "nume șablon"
    probyval prin tag, începe să privească din partea de sus a modulului selectat și ia primul care a fost găsit (și din moment ce cel nou este creat în partea de jos, există o eroare).

    Întrebarea de a rula suita de testare, acțiunea de la sfârșitul fiecărui - python

    4.png 994x799 43,5 KB







    Trimiteți-le prietenilor: