iOS-i automatiseerimise testimine Xcode Kasutajaliidese raamistik
⚡ Nutikas kokkuvõte
iOS-i automatiseeritud testimine koos Xcode salvestab ja esitab testitava rakenduse kasutajaliidese toiminguid, järgides testitud tsüklit, mis hõlmab disaini, testimist, juurutamist ja uuesti testimist, kuni iga juhtum on edukas.
iOS-i automatiseerimise testimine Xcode
Oma iOS-i rakenduse kvaliteedi tagamiseks peaksite järgima alloleval joonisel näidatud testipõhist arendusprotsessi.
Test-Driven Development (TDD) on a testimine mudel, mida rakendatakse iOS-i rakenduste testimisel ja mis sobib laiema praktikaga mobiilne testimineSelles mudelis peab testija järgima alltoodud nelja etappi:
- Design: Mõtle välja, mida sa testida tahad, ja kujunda oma testjuhtumid.
- Test: Käivita kõik testid ja vaata, kas mõni test ebaõnnestub.
- Rakendama: RevTäienda oma koodi ja paranda vead, mis põhjustasid testi ebaõnnestumise.
- Testi uuesti: Kui test ebaõnnestub, pöörduge tagasi kavandi juurde. Kui kõik testid läbivad, vastab kood kõigile testitud nõuetele.
Seadistamine Xcode UI testimise projekt
iOS-i testprogrammi loomiseks vajate Maci. Teie Macis peavad olema juba installitud järgmised seadmed:
- OS X — Maci operatsioonisüsteem.
- Xcode IDE — iOS-i arendustööriist.
- Automatiseeritud testimise raamistik — Kasutajaliidese automatiseerimine, OCUnit ja nii edasi.
- iOS SDK 4 või kõrgem.
⚠️ Versiooni märkus: Ülaltoodud eeltingimused kirjeldavad ajastu tööriistaketti, mil kaks järgnevat läbimängujuhendit kirjutati. Praeguses Macis Xcode Komplektis on nii XCTesti kui ka XCUITesti raamistikud ning eraldi kasutajaliidese automatiseerimise tööriist ei kuulu enam installi hulka. Algsed sammud on allpool säilitatud, kuna need dokumenteerivad raamistiku toimimist ja tänapäevast vastet kirjeldatakse allpool.
Kuidas luua iOS-i automatiseerimist kasutajaliidese automatiseerimisraamistiku abil
Allolevad kaheksa sammu salvestavad automatiseerimisvahendiga skripti ja esitavad seda testitava rakenduse peal.
Samm 1) Käivitage instrumendid
Ava XCode -> Ava arendaja tööriist -> Instrument
Samm 2) Lisage automaatikainstrument
Valige aknas Instruments (Instrumendid) automatiseerimisinstrument.
Testi skripti loomiseks salvestate kas testistsenaarium või programmeerite selle käsitsi.
Samm 3) Vajutage punast nuppu
Instrument käivitub – peatage salvestamine kohe. Salvestamise alustamiseks vajutage punast nuppu.
4. samm) Looge uus skript
Uue skripti loomiseks klõpsake skriptide aknas nuppu Lisa > Loo.
Samm 5) Valige sihtmärk
Sa oled nüüd Trace aken. Kasutage valikut Target rippmenüüst, et navigeerida oma rakenduse silumisversioonini.
Sel juhul Apple'i näidis SimpleDrillDown Testimisel kasutatakse rakendust. Sellel on allpool näidatud graafiline kasutajaliides.
6. samm) Alustage skripti salvestamist
Salvestage oma skript, vajutades tööriista üla- või alaosas olevat salvestusnuppu.
Nüüd saate testitava rakenduse peal teha mõningaid kasutajaliidese toiminguid ja teie skript salvestatakse.
7. samm) Vaadake oma skripti
Skripti vaatamiseks vajutage nuppu Trace Logi / Redaktori logi rippmenüü ja lülitu skripti logi vaatele.
Näete oma salvestatud skripti.
Samm 8) Esitage oma skript
Vajuta esitusnuppu. Skript käivitub ja pärast logide ilmumist saad selle peatada.
⚠️ Ajalooline märkus: Nendes kaheksas etapis kasutatud automatiseerimisvahend aegus aastal Xcode 8 ja hiljem eemaldatud, seega seda praeguses versioonis enam ei ole. Xcode installatsioonid. Need sammud on siin säilitatud raamistiku toimimise ülestähendusena; uue töö jaoks kasutage sellel lehel allpool olevat XCUITesti läbivaatust.
Kuidas luua iOS-i automatiseerimist OCUniti raamistiku abil
Teine marsruut paigutab testid sisse Xcode projekt ise, mitte Instrumentide sees.
1. samm) Alusta Xcode IDE, ühiku testimispaketi sihtmärgi lisamine
2. samm) Kirjutage uue ühiktestimise komplekti nimi nagu ülaltoodud joonisel näidatud, seejärel klõpsake nuppu Valmis.
3. samm) Määrake ühiktest aktiivseks sihtmärgiks
4. samm) Lisage testklasside rühm
Samm 5) Lisage ühikutesti klass
6. samm) Nüüd alustage rakendamist
OCUnit kasutab testprogrammi loomiseks Objective-C keelt, seega peab arendaja seda keelt oskama. Modern Xcode versioonid saadetakse üksuse testimine hoopis XCTesti kaudu, mis toetab nii Objective-C kui ka Swift, kuid nendes kuues etapis näidatud sihtmärgi ja klassi struktuur jääb samaks.
UIAutomation vs XCUITest: Mis muutus
Kuna mõlemad ülalkasutatud raamistikud kuuluvad Apple'i tööriistaketi varasemasse põlvkonda, tasub täpselt välja tuua, mis need asendas ja miks.
| Aspekt | Kasutajaliidese automatiseerimine (instrumendid) | XCUITest |
| olek | Aegunud aastal Xcode 8 ja eemaldatud hilisematest väljaannetest | Apple'i toetatud kasutajaliidese testimise raamistik |
| Kus testid asuvad | Skriptid instrumentide sees trace-dokument | Kasutajaliidese testimise komplekti sihtmärk sees Xcode projekt |
| Keel | JavaScript | Swift või Objective-C |
| Testijooksja | Automatiseerimisvahend | XCTest, sama käivitaja mis ühiktestidel |
| Pidev integratsioon | Kohmakas — läbi instrumentide aetud | Käivitub käsurealt koos ühiktestidega |
| Salvestamine | Salvestamise nupp tööriistaribal Instruments | Salvesta nupp Xcode redaktor, mis väljastab Swift |
Praktiline tagajärg on see, et XCUITesti komplekt on tavaline projekti lähtekood. Seda vaadatakse üle, versioonitakse ja käivitatakse nagu ülejäänud koodibaasi, mis on peamine põhjus, miks salvestatud...tracmudel kadus ära.
Kuidas kirjutada iOS-i kasutajaliidese testi XCUITesti abil
Kaheksa instrumendi sammu tänapäevane vaste on lühike. Allolev struktuur peegeldab sama salvesta-siis-esita-korda ideed, kuid väljundiks on pigem lähtefail kui ... trace.
- Lisa sihtmärk. In Xcode vali Fail > Uus > Target ja vali mall UI testimispakett või märgi ära testide kaasamise valik uue projekti loomisel.
- Ava genereeritud testklass. Xcode loob XCTestCase alamklassi tühjade seadistus- ja testimismeetoditega.
- Käivitage testitav rakendus. Loo XCUIApplicationi eksemplar ja kutsu sellel välja launch, mis käivitab rakenduse eraldi protsessina.
- Päring ja tegutsemine. Jõuate elementideni elemendipäringute – nuppude, tabelite, staatiliste tekstide – kaudu ja käivitage neil koputamine, tüüpText või libistamine.
- Väida. Kasutage XCTAsserti, et kontrollida, kas oodatud element eksisteerib pärast toimingut.
- Käivita. Käivita test alates Xcode test navigatorist või käsurealt, nii et sama komplekt töötab pidevas integratsioonis.
Minimaalne test järgib seda kuju:
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)) } }
Salvesti on endiselt olemas: kursori asetamine testimismeetodi sisse ja redaktoris salvestusnupu vajutamine genereerib need päringud automaatselt, mis on ülaltoodud 6. sammu otsene järeltulija. Laiemad põhimõtted automaatika testimine kehtivad muutmata kujul.
Kasutajaliidese automatiseerimise näidis Code
See artikkel sisaldab mõningaid lähtekoodi näiteid. Need aitavad teil õpetust selgemini ja kiiremini mõista.
Kasutajaliidese automatiseerimise näidis — UI automatiseerimise demo testimisskript.















