Testarea automatizării iOS cu Xcode Cadrul de interfață cu utilizatorul
⚡ Rezumat inteligent
Testarea automatizării iOS cu Xcode înregistrează și redă acțiunile interfeței utilizator asupra unei aplicații testate, urmând un ciclu de testare: proiectare, testare, implementare și testare din nou până când fiecare caz este aprobat.
Testarea automatizării iOS folosind Xcode
Pentru a garanta calitatea aplicației tale iOS, ar trebui să urmezi procesul de dezvoltare bazat pe teste prezentat în figura de mai jos.
Dezvoltarea bazată pe teste (TDD) este a de testare model care se aplică testării aplicațiilor iOS și se încadrează în practica mai largă a testarea mobilăÎn acest model, un tester trebuie să urmeze cele 4 faze de mai jos:
- Design: Stabilește ce vrei să testezi și proiectează-ți cazurile de testare.
- De încercare: Rulați toate testele și vedeți dacă vreun caz de testare eșuează.
- Implementați: RevRemediază-ți codul și corectează erorile care au cauzat eșecul testului.
- Testează din nou: Dacă un test eșuează, se revine la proiectare. Dacă toate cazurile de testare sunt satisfăcătoare, codul îndeplinește întreaga cerință testată.
Configurare Xcode Proiect pentru testarea UI
Pentru a crea un program de testare iOS, aveți nevoie de un Mac. Pe Mac trebuie să fie deja instalate următoarele:
- OS X — sistemul de operare pentru un Mac.
- Xcode IDE — instrumentul de dezvoltare pentru iOS.
- Un cadru de testare automată — Automatizare interfață utilizator, OCUnit și așa mai departe.
- SDK-ul iOS 4 sau mai mare.
⚠️ Notă privind versiunea: Cerințele preliminare de mai sus descriu setul de instrumente al erei în care au fost scrise cele două soluții care urmează. Pe un Mac actual, Xcode Include framework-urile XCTest și XCUITest în cutie, iar instrumentul separat de automatizare a interfeței utilizator nu mai face parte din instalare. Pașii originali sunt păstrați mai jos, deoarece documentează modul în care funcționa framework-ul, iar echivalentul modern este descris mai jos.
Cum se creează automatizare iOS folosind UI Automation Framework
Cei opt pași de mai jos înregistrează un script cu instrumentul de automatizare și îl redau în aplicația testată.
Pasul 1) Lansați Instrumente
Deschide XCode -> Deschideți instrumentul pentru dezvoltatori -> Instrument
Pasul 2) Adăugați instrumentul de automatizare
În fereastra Instrumente, selectați instrumentul Automatizare.
Pentru a crea un script de testare, fie înregistrați o scenariu de testare sau îl programezi manual.
Pasul 3) Apăsați butonul roșu
Un instrument se lansează — opriți imediat înregistrarea. Dacă doriți să începeți înregistrarea, apăsați butonul roșu.
Pasul 4) Creați un nou script
În fereastra Scripturi, faceți clic pe Adăugare > Creare pentru a crea un script nou.
Pasul 5) Alegeți ținta
Acum ești în Tracfereastra e. Folosește butonul Alege Target meniu derulant pentru a naviga la versiunea de depanare a aplicației.
În acest caz, eșantionul Apple SimpluDrillDown aplicația este utilizată ca aplicație testată. Are interfața grafică prezentată mai jos.
Pasul 6) Începeți să vă înregistrați scriptul
Înregistrați-vă scriptul apăsând butonul de înregistrare din partea de sus sau de jos a instrumentului.
Acum puteți efectua câteva acțiuni în interfața cu utilizatorul asupra aplicației testate, iar scriptul este înregistrat.
Pasul 7) Vezi scenariul tău
Pentru a vedea scenariul, apăsați butonul Tracmeniul derulant Jurnal / Jurnal editor și comutați la vizualizarea jurnalului de scripturi.
Veți vedea scenariul înregistrat.
Pasul 8) Redați scenariul
Apăsați butonul de redare. Scriptul rulează și îl puteți opri după ce apar jurnalele.
⚠️ Notă istorică: Instrumentul de automatizare utilizat în acești opt pași a fost depreciat în Xcode 8 și ulterior eliminate, deci nu mai sunt prezente în versiunea actuală Xcode instalări. Pașii sunt păstrați aici ca o înregistrare a modului în care a funcționat framework-ul; pentru lucrări noi, utilizați ghidul XCUITest mai jos pe această pagină.
Cum se creează automatizare iOS folosind cadrul OCUnit
A doua rută plasează testele în interiorul Xcode proiectul în sine, mai degrabă decât în interiorul Instrumentelor.
Pasul 1) Începeți Xcode IDE, Adăugați un pachet de teste unitare țintă
Pasul 2) Scrieți numele noului pachet de teste unitare așa cum se arată în figura de mai sus, apoi faceți clic pe Terminare.
Pasul 3) Faceți testul unitar ținta activă
Pasul 4) Adăugați un grup pentru clasele de testare
Pasul 5) Adăugați o clasă de test unitar
Pasul 6) Acum începeți implementarea
OCUnit folosește limbajul Objective-C pentru a crea programul de testare, așa că dezvoltatorul trebuie să cunoască acel limbaj. Limbajul modern Xcode versiunile sunt livrate testarea unitara prin XCTest, care suportă atât Objective-C, cât și Swift, dar structura țintă-clasă prezentată în acești șase pași rămâne neschimbată.
UIAutomation vs XCUITest: Ce s-a schimbat
Deoarece ambele framework-uri utilizate mai sus aparțin unei generații anterioare a lanțului de instrumente Apple, merită să fim precisi cu privire la ce le-a înlocuit și de ce.
| Aspect | Automatizare interfață utilizator (instrumente) | Testul XCUIT |
| Stare | Depreciat în Xcode 8 și eliminată din versiunile ulterioare | Framework-ul de testare a interfeței utilizator acceptat de Apple |
| Unde se află testele | Scripturi în interiorul unui instrument tracdocument electronic | O țintă a pachetului de testare a interfeței utilizator din interiorul Xcode proiect |
| Limbă | JavaScenariu | Swift sau Objective-C |
| Tester | Instrumentul de automatizare | XCTest, același rulator ca și testele unitare |
| Integrare continuă | Stânjenitor — condus prin instrumente | Rulează din linia de comandă alături de testele unitare |
| Înregistrare | Butonul Înregistrare din bara de instrumente Instrumente | Butonul de înregistrare din Xcode editor, care emite Swift |
Consecința practică este că o suită XCUITest este cod sursă obișnuit al proiectului. Este revizuită, versionată și executată ca restul bazei de cod, acesta fiind principalul motiv pentru care înregistrarea...tracModelul a dispărut.
Cum se scrie un test de interfață iOS cu XCUITest
Echivalentul modern al celor opt pași ai instrumentelor este scurt. Structura de mai jos reflectă aceeași idee de înregistrare-apoi-reluare, dar rezultatul este un fișier sursă, nu un trace.
- Adăugați ținta. In Xcode alegeți Fișier > Nou > Target și alegeți șablonul Pachet de testare UI sau bifați opțiunea de a include teste la crearea unui proiect nou.
- Deschideți clasa de test generată. Xcode creează o subclasă XCTestCase cu metode de configurare și testare goale.
- Lansați aplicația aflată în testare. Creați o instanță XCUIApplication și apelați comanda launch pe aceasta, care pornește aplicația într-un proces separat.
- Întreabă și acționează. Accesați elementele prin intermediul interogărilor de elemente — butoane, tabele, texte statice — și apelați atingerea, tastarea sau glisarea peste ele.
- Afirma. Folosește XCTAssert pentru a verifica dacă elementul așteptat există după acțiune.
- Alerga. Executați testul de la Xcode navigatorul de teste sau din linia de comandă, astfel încât aceeași suită să ruleze în integrare continuă.
Un test minimal urmează această formă:
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)) } }
Înregistratorul există încă: plasarea cursorului în interiorul unei metode de testare și apăsarea butonului de înregistrare din editor generează automat aceste interogări, ceea ce este descendentul direct al Pasului 6 de mai sus. Principiile mai largi ale testarea automatizării se aplică neschimbate.
Exemplu de automatizare a interfeței utilizator Code
Acest articol include câteva exemple de cod sursă. Acestea vă ajută să înțelegeți tutorialul mai clar și mai rapid.
Exemplu de automatizare a interfeței utilizator — script de testare pentru demonstrația UI Automation.















