Întrebare pentru a lansa testul suite-uri, efectul la sfârșitul fiecărui - piton
Tag-uri: #
Te rog spune-mi mai multe aspecte:
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?
În cazul în care expozantul> driver.close ()
browser-ul pur și simplu zakryvaetsya și următorul test nu va porni prea.
Cum pot face un pasaj syuta flexibil.
Aici, din nou, problema a fost stabilită pentru prima dată pytest, deoarece este tot același set în sus, bine, uita-te ca pentru fiecare test în blocul (1) a crea o nouă configurație. Și în partea a 2 doar spun, în mod normal, setarea uite, sau din cauza problemei.
Mulțumesc mult.

1.png 1102x677 69.3 KB
el otkrіvaet doar novіe kotorіh fereastră atunci când trece intreaga suita va fi mai mare de 40))
Dacă totul merge pentru a termina, va exista un astfel de sistem:
- În primul rând, executați codul în setup_method (deschide browser-ul, du-te la pagina)
- Apoi, executarea de cod va merge la test_my_test_1 (pași de testare pe care trebuie să specificați)
teardown_method Apoi, executat (închide browser-ul)
Și astfel pentru toate metodele de testare specificate în clasă.
setup_method def (auto, metodă):
self.driver = webdriver.Firefox ()
self.driver.maximize_window ()
self.driver.get (APP_URL)
Se merge ceva de genul

testexample_py _-_ PycharmProjects _-____ PycharmProjects_.png 1019x868 118 KB
Toate metodele de testare ar trebui să fie în cadrul clasei (vezi indentare).
Apel către conducătorul auto în interiorul metodei trebuie să treacă printr-un indicator de sine:
P.S. Dacă PyCharm ceva subliniat în roșu, înseamnă că există o eroare atunci când scriptul este rulat. Este necesar să se rezolve aceste probleme în codul. După cum văd eu, trebuie să faci, cel puțin:
Testele ar trebui să fie într-o clasă. Citiți despre obiecte și clase în Python.
În general, te sfătuiesc să nu omori și a alerga un browser, trebuie doar să-l curățați - șterge cookie-uri, stocare, sesiune de stocare locală, și redeschide pagina înainte de fiecare test. Deschide un nou browser - pentru o lungă perioadă de timp.
Vă mulțumesc foarte mult, a făcut pe normal, toate în sus și să fie difuzate, chiar și în cazul în care un test a căzut, următoarea zapuskaetsya. Tocmai am curățat metoda de podea, a fost umbrită și încă fără lansarea la fel. Et OK?
de seleniu webdriver import
driver = webdriver.Chrome ()
timp de import
Problema zapuskaetsya numai toate suitele.
Deși problema nu poate fi în acest sens,
Există două fișiere
testsmokeAP.py - în cazul în care testele mele de bază
și test.py - unde am eksperementiruju întâi aceste dobavlnie și recomandări privind aceleași teste (în cazul în care clasa adăugată etc.)
Deci, pentru fișierul testsmokeAP.py (dacă executați toată suita) ruleaza pytest = pytest pentru testsmoke. În cazul în care individul este pytest + numele testului pe care este rulat
Ș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 teste secțiunea python) Screenshot 3

3.png 1046x693 70,4 KB
Acest fișier se află în folderul cu pachetul
Adică, atunci când klatsat butonul din dreapta al mouse-ului, am înlocui Run p.test pentru 11test.py ce testul Run
Deși testsmokeAP.py fișier toate ok
Da, vă mulțumesc, acum voi adăuga clase, și convenabil, și poate fi setată condiție prealabilă, tper acțiune de conectare, am trecut la început și nu este nevoie să copiați-paste în fiecare test.
În general, te sfătuiesc să nu omori și a alerga un browser, trebuie doar să-l curățați - șterge cookie-uri, stocare, sesiune de stocare locală, și redeschide pagina înainte de fiecare test. Deschide un nou browser - pentru o lungă perioadă de 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 etc, dar nu știu cum (încă), atunci chiar și sunt de acord cu tine încă selectoare teribile. 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 din figura anterioară de doar mine.
Apoi, această comandă verifică dacă șablonul apare în listă
mistake_text = driver.find_element_by_xpath ( „apoi numele elementelor predpolozhytolnogo care apar după crearea unui nou șablon“). Text
afirma mistake_text == „Nume șablon“
probyval prin tag-ul, începe să joace din partea de sus a modulului selectat și primește primul am găsit (și pentru că noua este creat la partea de jos, apoi eroare zrazy).

4.png 994x799 43.5 KB