A tesztcsomag működtetésének kérdése, az egyes - python végén végrehajtott művelet
Címkék: #
Kérem, mondja meg nekem néhány kérdést:
Minden vizsgálat után, tettem Belépés ki, ami próbára az atomok elhagyta a bejelentkezési oldalon, majd hajtsa végre az összes rendet a teszt esetek, ha nem, a következő vizsgálat elromlik, akkor másképp csinálni?
Ha kitettem> driver.close ()
A böngészőablak bezáródik, és a következő teszt sem indul el.
Hogyan tudsz rugalmasan átjárni a.
Itt van egy másik, először is volt probléma a pytest konfigurálásához, mivel még mindig hangolódik. Nos, egy új tesztet keresek a blokkban (1) egy új konfigurációhoz. És a 2. blokkban csak azt mondja, hogy a beállítások jól néznek ki, vagy ennek és a problémának köszönhetően.
Nagyon köszönöm.
1.png 1102x677 69.3 KB
csak új ablakokat nyit meg, amelyek az egész lakosztály átadásakor több mint 40)
Ha minden rendben van a befejezéshez, akkor lesz egy ilyen rendszer:
- Először futtasd a kódot a setup_methodban (nyisd meg a böngészőt, menj az oldalra)
- Ezután a kód végrehajtódik a test_my_test_1-ben (a vizsgálandó lépések, amelyeket meg kell adnia)
Ezután fut a teardown_method (bezárja a böngészőt)
Így minden osztályban meghatározott vizsgálati módszerek esetében.
def setup_method (én, módszer):
self.driver = webdriver.Firefox ()
self.driver.maximize_window ()
self.driver.get (app_url)
ahogy ez megy
testexample_py _-_ PycharmProjects _-____ PycharmProjects_.png 1019x868 118 KB
Valamennyi vizsgálati módszernek az osztályon belül kell lennie (lásd a behúzást).
A vezetõnek a módokon belüli hívásnak az egérmutatóval kell történnie:
Ui Ha a PyCharm valami vörös aláhúzást jelez, akkor a parancsfájl indításakor hiba lép fel. Meg kell oldania ezeket a problémákat a kódban. Amennyire látok, meg kell tennie legalább:
A teszteknek az osztályon belül kell lenniük. Olvassa el a pythonban található tárgyakat és osztályokat.
Általában azt tanácsolom, hogy ne ölje meg és ne futtassa a böngészőt, hanem csak tisztítsa meg - törölje a cookie-kat, a munkamenet-tárolást, a helyi tárolást és újra felfedezze az oldalt minden egyes teszt előtt. Nyisson meg egy új böngészőt - elég sokáig.
Sokat köszönöm, normális módon csináltam, minden megkezdődött és végrehajtásra kerül, még akkor is, ha egy teszt elesik, a következő indul. Csak én tisztítottam meg a szó módját, egyébként szürke volt és anélkül, hogy a dobás ugyanaz. Normális?
a szelén import webdrivertől
driver = webdriver.Chrome ()
behozatali idő
A probléma az, hogy csak az egész csomag indul.
Bár a probléma valószínűleg nem ebben áll,
Két fájl van
testsmokeAP.py - hol vannak a fő tesztek
és test.py - ahol először kipróbálom ezeket a kiegészítéseket és ajánlásokat ugyanazon teszteken (ahol hozzáadtam egy osztályt stb.)
Tehát a testsmokeAP.py fájlhoz (ha az egész csomagot futtatja), elindul a pytest = pytest a testsmoke-hoz. ha külön, akkor pytest + a teszt nevét, amit futok
És test.py fájlt (ha fut mindent, minden rendben van, fuss pytest = p.test az 11test.py) futtatása esetén több vizsgálatot végzünk tesztkonfigurációjának python részén Férfiak konfigurációk (ahelyett kontsiguratsii p.test számára 11test.py a szakasz python tesztek) Pillanatkép 3
3.png 1046x693 70.4 KB
Ez a fájl a csomagban található mappában található
Ha jobb egérgombbal kattintok, akkor valamilyen okból futtatni próbálom a Run p.test-et a 11test.py-hez
Bár a testsmokeAP.py fájlban minden rendben van
Igen, köszönöm, most felveszem az osztályokat, és kényelmesebb és előfeltételezhető, most már csak a bejelentkezési műveletet hajtottam végre, és nincs szükség minden tesztre másolásra.
Általában azt tanácsolom, hogy ne ölje meg és ne futtassa a böngészőt, hanem csak tisztítsa meg - törölje a cookie-kat, a munkamenet-tárolást, a helyi tárolást és újra felfedezze az oldalt minden egyes teszt előtt. Nyisson meg egy új böngészőt - elég sokáig.
Azt gondolom, hogy ez a módszer jobban persze, de nem tudok írni ezt a kódot a Python, mit csinálna egy ilyen funkció, és így természetesen most szeretnék lenne, és e-mailek küldése csekket, és hogy a felhasználó valóban eltávolították az adatbázis és így tovább, de még nem tudom, hogyan (még), még itt is egyetértek veled, hogy a szelektorok szörnyűek. Például még mindig nem igazán értem, hogyan kell biztonságosan csinálni, hogy biztos voltam benne, hogy én létrehozott egy új sablont, és feltűnt a listán (screenshot) látom, hogy mennyi már van, és milyen XPath következő (például td [11] ) Az előzőtől vett kódot megváltoztatom.
Ezután ezt a parancsot ellenőrizem, hogy a sablon megjelenik-e a listában
errorke_text = driver.find_element_by_xpath ("itt az új sablon létrehozása után megjelenő elvárt elem neve").
assert errorke_text == "sablonnév"
probyval a címkén keresztül, akkor a kiválasztott modul tetején néz ki, és az elsőt találta meg (és mivel az új alul van létrehozva, hiba van).
4.png 994x799 43.5 KB