iOS automatizálási tesztelés Xcode UI keretrendszer
⚡ Okos összefoglaló
iOS automatizált tesztelés Xcode rögzíti és visszajátssza a felhasználói felület műveleteit egy tesztelt alkalmazáson, egy tesztvezérelt tervezési, tesztelési, megvalósítási és ismételt tesztelési ciklust követve, amíg minden eset sikeres nem lesz.
iOS automatizálási tesztelés segítségével Xcode
Az iOS-alkalmazás minőségének garantálása érdekében kövesse az alábbi ábrán látható tesztvezérelt fejlesztési folyamatot.
A tesztvezérelt fejlesztés (TDD) a tesztelés modell, amelyet az iOS alkalmazástesztelésre alkalmaznak, és amely a tágabb gyakorlatba illeszkedik mobil tesztelésEbben a modellben a tesztelőnek az alábbi 4 fázist kell követnie:
- Design: Gondold ki, mit szeretnél tesztelni, és tervezd meg a teszteseteidet.
- Teszt: Futtasd le az összes tesztet, és nézd meg, hogy van-e olyan teszteset, ami sikertelen.
- Végrehajtás: RevJavítsd ki a kódodat, és javítsd ki a hibákat, amik a teszt sikertelenségét okozták.
- Teszteld újra: Ha egy teszt sikertelen, akkor visszatérünk a tervhez. Ha minden teszteset sikeres, a kód megfelel a teljes tesztelt követelménynek.
Felállítása Xcode Projekt a felhasználói felület teszteléséhez
iOS tesztprogram létrehozásához Mac számítógépre van szükség. A Mac számítógépén telepítve kell lennie a következőknek:
- OS X – a Mac operációs rendszere.
- Xcode IDE — az iOS fejlesztőeszköze.
- Automatizált tesztelési keretrendszer — Felhasználói felület automatizálása, OCUnit és így tovább.
- iOS SDK 4 vagy magasabb.
⚠️ Verzió megjegyzés: A fenti előfeltételek leírják annak a korszaknak az eszköztárát, amelyben a következő két útmutató íródott. Egy jelenlegi Mac gépen, Xcode Az XCTest és az XCUITest keretrendszerek a dobozban találhatók, és a különálló UI Automation eszköz már nem része a telepítésnek. Az eredeti lépések alább megmaradnak, mivel ezek dokumentálják a keretrendszer működését, a modern megfelelőjét pedig alább ismertetjük.
iOS Automation létrehozása az UI Automation Framework segítségével
Az alábbi nyolc lépésben rögzítünk egy szkriptet az Automation eszközzel, majd lejátszjuk azt a tesztelt alkalmazáson.
1. lépés) Indítsa el az eszközöket
X megnyitásaCode -> Fejlesztői eszköz megnyitása -> Eszköz
2. lépés: Adja hozzá az automatizálási eszközt
Az Eszközök ablakban válassza ki az Automatizálás eszközt.
Tesztszkript létrehozásához rögzítesz egy tesztforgatókönyv vagy manuálisan programozod.
3. lépés) Nyomja meg a Piros gombot
Egy hangszer indul – azonnal állítsa le a felvételt. A felvétel elindításához nyomja meg a piros gombot.
4. lépés) Hozzon létre egy új szkriptet
A Szkriptek ablakban kattintson a Hozzáadás > Létrehozás gombra egy új szkript létrehozásához.
5. lépés) Válassza ki a célt
Ön most a következőben van: Trace ablak. Használja a Kiválasztás Target legördülő menüből navigálhat az alkalmazás hibakeresési verziójához.
Ebben az esetben az Apple mintája SimpleDrillDown A(z) alkalmazást tesztelés alatt álló alkalmazásként használják. A grafikus felhasználói felülete az alább látható.
6. lépés) Kezdje el rögzíteni a szkriptet
Rögzítse a szkriptet az eszköz tetején vagy alján található rögzítés gomb megnyomásával.
Most már felhasználói felületen is végrehajthatsz műveleteket a tesztelés alatt álló alkalmazásodon, és a szkripted rögzítésre kerül.
7. lépés) Tekintse meg a forgatókönyvet
A szkript megtekintéséhez nyomja meg a gombot Trace Napló / Szerkesztői napló legördülő menüt, és váltson a szkriptnapló nézetre.
Látni fogja a rögzített forgatókönyvet.
8. lépés) Játssza le a forgatókönyvet
Nyomd meg a lejátszás gombot. A szkript lefut, és a naplók megjelenése után leállíthatod.
⚠️ Történelmi megjegyzés: Az ebben a nyolc lépésben használt automatizálási eszköz elavulttá vált a következő évben: Xcode 8-as és későbbi verziók eltávolításra kerültek, így a jelenlegi verzióban már nem szerepel. Xcode telepítések. A lépéseket itt megőrizzük a keretrendszer működésének feljegyzéseként; új munkákhoz használd az XCUITest útmutatóját, amely ezen az oldalon lejjebb található.
Az iOS automatizálás létrehozása az OCUnit keretrendszer segítségével
A második útvonal a teszteket a Xcode maga a projekt, nem pedig az Instruments belsejében.
1. lépés) Indítás Xcode IDE, Egységtesztelési csomag célpont hozzáadása
2. lépés) Írd be az új Unit Test Bundle nevét ahogy a fenti ábrán látható, majd kattintson a Befejezés gombra.
3. lépés) Az egységteszt legyen az aktív célpont
4. lépés) Csoport hozzáadása a tesztosztályokhoz
5. lépés) Adjon hozzá egy egységteszt-osztályt
6. lépés) Most kezdje el a megvalósítást
Az OCUnit az Objective-C nyelvet használja a tesztprogram létrehozásához, így a fejlesztőnek ismernie kell ezt a nyelvet. Modern Xcode verziók szállítanak egység tesztelés ehelyett az XCTest-en keresztül, amely támogatja mind az Objective-C-t, mind a Swift, de a hat lépésben bemutatott cél- és osztálystruktúra változatlan marad.
UIAutomation vs. XCUITest: Mi változott?
Mivel mindkét fent használt keretrendszer az Apple eszköztárának egy korábbi generációjához tartozik, érdemes pontosan meghatározni, hogy mi váltotta fel őket, és miért.
| Aspect | Felhasználói felület automatizálása (eszközök) | XCUITeszt |
| Állapot | Elavult Xcode 8-as és eltávolították a későbbi kiadásokból | Az Apple által támogatott felhasználói felület tesztelési keretrendszere |
| Hol találhatók a tesztek? | Szkriptek egy Instruments-en belül trace-dokumentum | Egy UI Testing Bundle célpont a Xcode program |
| Nyelv | JavaForgatókönyv | Swift vagy Objective-C |
| Tesztfutó | Az automatizálási eszköz | XCTest, ugyanaz a futtatóprogram, mint az egységtesztek |
| Folyamatos integráció | Kínos – a hangszereken keresztül hajtva | Parancssorból fut az egységtesztek mellett |
| Felvétel | Felvétel gomb a Hangszerek eszköztáron | Felvétel gomb a Xcode szerkesztő, amely kiadja Swift |
A gyakorlati következmény az, hogy egy XCUITest csomag egy átlagos projekt forráskód. A kódbázis többi részéhez hasonlóan felülvizsgálatra, verziózásra és végrehajtásra kerül, ami a rögzített...traca modell eltűnt.
Hogyan írjunk iOS UI tesztet az XCUITest segítségével
A nyolc hangszeres lépés modern megfelelője rövid. Az alábbi struktúra ugyanazt a felvétel-majd visszajátszás elvet tükrözi, de a kimenet egy forrásfájl, nem pedig egy trace.
- Add hozzá a célt. In Xcode válassza a Fájl > Új > lehetőséget Target és válaszd ki a UI Testing Bundle sablont, vagy jelöld be a tesztek belefoglalásának lehetőségét új projekt létrehozásakor.
- Nyisd meg a létrehozott tesztosztályt. Xcode létrehoz egy XCTestCase alosztályt üres setup és test metódusokkal.
- Indítsd el a tesztelés alatt álló alkalmazást. Hozz létre egy XCUIApplication példányt, és hívd meg rajta a launch metódust, amely egy külön folyamatban indítja el az alkalmazást.
- Kérdezés és cselekvés. Az elemeket elemlekérdezéseken – gombokon, táblázatokon, statikus szövegeken – keresztül érheti el, és hívhatja meg a „tap”, „TypeText” vagy az „elhúzás” billentyűparancsot rajtuk.
- Állítás. Az XCTAssert használatával ellenőrizheti, hogy a várt elem létezik-e a művelet után.
- Fuss. Végezze el a tesztet a Xcode test navigatorból, vagy a parancssorból, így ugyanaz a csomag folyamatos integrációban fut.
Egy minimális teszt a következő alakot követi:
import XCTest final class AppUITests: XCTestCase { func testTappingFirstRowShowsDetail() { let app = XCUIApplication() app.launch() // act on the first row of the list app.tables.cells.element(boundBy: 0).tap() // verify that the next screen appeared XCTAssertTrue(app.staticTexts.firstMatch.waitForExistence(timeout: 5)) } }
A rögzítő továbbra is létezik: a kurzor egy tesztmetódusba helyezése és a szerkesztőben a rögzítés gomb megnyomása automatikusan generálja ezeket a lekérdezéseket, ami a fenti 6. lépés közvetlen leszármazottja. A tágabb értelemben vett alapelvek automatizálási tesztelés változatlanul alkalmazandó.
UI automatizálási példa Code
Ez a cikk néhány forráskód példát tartalmaz. Ezek segítenek abban, hogy a bemutatót világosabban és gyorsabban megértsd.
UI automatizálási példa — tesztszkript a felhasználói felület automatizálásának demójához.















