iOS-automaatiotestaus Xcode Käyttöliittymäkehys
⚡ Älykäs yhteenveto
iOS-automaatiotestaus Xcode tallentaa ja toistaa käyttöliittymän toimintoja testattavassa sovelluksessa testipohjaisen suunnittelu-, testaus-, toteutus- ja uudelleentestaussyklin mukaisesti, kunnes jokainen tapaus läpäisee testin.
iOS-automaatiotestaus käyttäen Xcode
iOS-sovelluksesi laadun varmistamiseksi sinun tulee noudattaa alla olevassa kuvassa esitettyä testipohjaista kehitysprosessia.
Test-Driven Development (TDD) on a testaus malli, jota sovelletaan iOS-sovellustestaukseen, ja se sopii laajempaan käytäntöön mobiilitestausTässä mallissa testaajan on noudatettava seuraavia neljää vaihetta:
- Suunnittelu: Mieti, mitä haluat testata, ja suunnittele testitapauksesi.
- Testi: Suorita kaikki testit ja katso, epäonnistuuko jokin testitapaus.
- toteuttamisessa: RevMuokkaa koodiasi ja korjaa virheet, jotka aiheuttivat testin epäonnistumisen.
- Testaa uudelleen: Jos testi epäonnistuu, palaa takaisin suunnitteluun. Jos kaikki testitapaukset läpäisevät, koodi täyttää kaikki testatut vaatimukset.
Asettaa Xcode Käyttöliittymän testausprojekti
iOS-testiohjelman luomiseen tarvitset Macin. Macissasi on oltava jo asennettuna seuraavat:
- OS X – Macin käyttöjärjestelmä.
- Xcode IDE — iOS:n kehitystyökalu.
- Automatisoitu testauskehys — Käyttöliittymäautomaatio, OCUnit ja niin edelleen.
- iOS SDK 4 tai korkeampi.
⚠️ Versiohuomautus: Yllä olevat vaatimukset kuvaavat aikakauden työkaluketjua, jossa seuraavat kaksi läpipeluuohjetta kirjoitettiin. Nykyisessä Macissa Xcode toimitetaan XCTest- ja XCUITest-kehykset pakkauksessa, eikä erillinen käyttöliittymän automaatiotyökalu ole enää osa asennusta. Alkuperäiset vaiheet on säilytetty alla, koska ne dokumentoivat kehyksen toiminnan, ja moderni vastine on kuvattu myöhemmin.
iOS-automaation luominen UI Automation Frameworkin avulla
Alla olevat kahdeksan vaihetta tallentavat skriptin automaatiotyökalulla ja toistavat sen testattavassa sovelluksessa.
Vaihe 1) Käynnistä Instruments
Avaa XCode -> Avaa kehittäjätyökalu -> Instrumentti
Vaihe 2) Lisää automaatiolaite
Valitse Instrumentit-ikkunassa Automaatio-instrumentti.
Testiskriptin luomiseksi joko tallenna testiskenaario tai ohjelmoit sen manuaalisesti.
Vaihe 3) Paina punaista painiketta
Instrumentti käynnistyy – lopeta tallennus välittömästi. Jos haluat aloittaa tallennuksen, paina punaista painiketta.
Vaihe 4) Luo uusi skripti
Luo uusi skripti napsauttamalla Skriptit-ikkunassa Lisää > Luo.
Vaihe 5) Valitse kohde
Olet nyt kohdassa Tracikkuna. Käytä Valitse-toimintoa Target avattavasta valikosta siirtyäksesi sovelluksesi virheenkorjausversioon.
Tässä tapauksessa Applen esimerkki SimpleDrillDown -sovellusta käytetään testattavana sovelluksena. Sen graafinen käyttöliittymä on alla.
Vaihe 6) Aloita käsikirjoituksen tallennus
Tallenna skripti painamalla tallennuspainiketta työkalun ylä- tai alaosassa.
Nyt voit suorittaa joitakin käyttöliittymätoimintoja testattavassa sovelluksessasi, ja skriptisi tallennetaan.
Vaihe 7) Katso käsikirjoituksesi
Näet käsikirjoituksesi painamalla Trace Loki / Muokkausloki -pudotusvalikko ja vaihda komentosarjojen lokinäkymään.
Näet tallennetun käsikirjoituksesi.
Vaihe 8) Toista käsikirjoituksesi
Paina toistopainiketta. Skripti suoritetaan, ja voit pysäyttää sen lokien ilmestyttyä.
⚠️ Historiallinen huomautus: Näissä kahdeksassa vaiheessa käytetty automaatiotyökalu vanhentui vuonna Xcode 8 ja myöhemmin poistettu, joten sitä ei enää ole nykyisessä versiossa Xcode asennukset. Vaiheet tallennetaan tähän tallenteena siitä, miten kehys toimi; uusiin töihin käytä XCUITest-läpikäyntiä myöhemmin tällä sivulla.
Kuinka luoda iOS-automaatio OCUnit-kehyksen avulla
Toinen reitti sijoittaa testit sisälle Xcode itse projektissa eikä Instrumentsin sisällä.
Vaihe 1) Aloita Xcode IDE, Lisää yksikkötestauspakettikohde
Vaihe 2) Kirjoita uuden yksikkötestauspaketin nimi kuten yllä olevassa kuvassa näkyy, ja napsauta sitten Valmis.
Vaihe 3) Tee yksikkötestistä aktiivinen kohde
Vaihe 4) Lisää ryhmä testiluokille
Vaihe 5) Lisää yksikkötestiluokka
Vaihe 6) Aloita nyt toteutus
OCUnit käyttää Objective-C-kieltä testiohjelman luomiseen, joten kehittäjän on osattava kyseinen kieli. Moderni Xcode versiot toimitetaan yksikkötestaus XCTestin kautta, joka tukee sekä Objective-C:tä että Swift, mutta näissä kuudessa vaiheessa esitetty kohde- ja luokkarakenne pysyy muuttumattomana.
UIAutomation vs. XCUITest: Mikä muuttui
Koska molemmat yllä käytetyt kehykset kuuluvat Applen työkaluketjun aiempaan sukupolveen, on syytä olla tarkka siitä, mikä ne korvasi ja miksi.
| Aspect | Käyttöliittymän automaatio (instrumentit) | XCUITest |
| Tila | Vanhentunut vuonna Xcode 8 ja poistettu myöhemmistä julkaisuista | Applen tukema käyttöliittymätestauskehys |
| Missä testit julkaistaan | Instrumenttien sisällä olevat skriptit trace-dokumentti | Käyttöliittymätestauspaketin kohde sisällä Xcode projekti |
| Kieli | JavaKäsikirjoitus | Swift tai Objective-C |
| Testijuoksija | Automaatiolaite | XCTest, sama suoritin kuin yksikkötestit |
| Jatkuva integraatio | Hankala — ajettu instrumenttien läpi | Suoritetaan komentoriviltä yksikkötestien rinnalla |
| Äänite | Äänitä-painike Instrumentit-työkalurivillä | Tallennuspainike kohdassa Xcode editori, joka tuottaa Swift |
Käytännössä tämä tarkoittaa, että XCUITest-paketti on tavallista projektin lähdekoodia. Se tarkistetaan, versioidaan ja suoritetaan kuten muukin koodikanta, mikä on tärkein syy siihen, miksi tallennettu...tracmalli katosi.
Kuinka kirjoittaa iOS-käyttöliittymätesti XCUITest-ohjelmalla
Kahdeksan instrumenttivaiheen moderni vastine on lyhyt. Alla oleva rakenne peilaa samaa äänitä ja toista -ideaa, mutta tulosteena on lähdetiedosto eikä trace.
- Lisää kohde. In Xcode valitse Tiedosto > Uusi > Target ja valitse UI Testing Bundle -malli tai valitse vaihtoehto, joka sisällyttää testit uutta projektia luotaessa.
- Avaa luotu testiluokka. Xcode luo XCTestCase-aliluokan, jossa on tyhjät setup- ja test-metodit.
- Käynnistä testattava sovellus. Luo XCUIApplication-instanssi ja kutsu sille launch-komentoa, joka käynnistää sovelluksen erillisessä prosessissa.
- Kysely ja toimi. Saavuta elementtejä elementtikyselyiden – painikkeiden, taulukoiden ja staattisten tekstien – avulla ja käytä niitä napauttamalla, kirjoittamallaText-komennoilla tai pyyhkäisemällä.
- Väitä. Käytä XCTAssert-funktiota varmistaaksesi, että odotettu elementti on olemassa toiminnon jälkeen.
- Juosta. Suorita testi kohdasta Xcode test navigatorista tai komentoriviltä, jotta sama ohjelmistopaketti toimii jatkuvassa integraatiossa.
Minimaalinen testi noudattaa tätä muotoa:
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)) } }
Tallennin on edelleen olemassa: kohdistimen sijoittaminen testimetodin sisään ja tallennuspainikkeen painaminen editorissa luo nämä kyselyt automaattisesti, mikä on suora jälkeläinen yllä olevasta vaiheesta 6. Laajemmat periaatteet automaatiotestaus sovelletaan muuttumattomana.
Käyttöliittymän automaatiosuositus Code
Tämä artikkeli sisältää joitakin lähdekoodiesimerkkejä. Ne auttavat sinua ymmärtämään opetusohjelman selkeämmin ja nopeammin.
Käyttöliittymän automaatiosuositus — testiskripti käyttöliittymän automaation demolle.















