iOS-Apps automatisiert testen mit QF-Test 8
In diesem Video zeige ich Ihnen, wie Sie mit QF-Test 8 iOS-Anwendungen testen können. Außerdem demonstriere ich, was QF-Test 8 sonst noch so drauf hat.
Transkript
Einleitung
Hallo! In diesem Video zeige ich Ihnen, wie Sie mit QF-Test 8 iOS-Anwendungen testen können. Außerdem demonstriere ich, was QF-Test 8 sonst noch so drauf hat. QF-Test 8 ist die neueste Version von QF-Test, dem Tool für professionelle GUI-Testautomatisierung.
iOS-Anwendungen Testen
Zunächst einmal die Systemanforderungen: iOS-Anwendungen testen geht aus technischen Gründen nur unter macOS. Außerdem müssen Xcode und ein paar weitere Helfer-Tools installiert sein.
Um Ihr System vorzubereiten, haben wir einen nützlichen Assistenten entwickelt, der Sie durch die nötigen Schritte leitet und Ihre Testumgebung so weit wie möglich automatisch für Sie einrichtet.
Ein neues Testprojekt beginnt wie – immer in QF-Test – am Besten mit dem Schnellstart-Assistenten, über das Zauberstab-Icon. Hier kann ich jetzt ein iOS-Gerät oder einen Simulator auswählen … und hier mein zu testendes iOS-„.app“-Bundle auswählen … und QF-Test erledigt alles weitere für mich.
Mit meiner neu erzeugten Startsequenz kann ich mit dem Testen beginnen. Mit nur einem Klick startet QF-Test jetzt meine Testanwendung und verbindet sich im Hintergrund mit dem Gerät oder Simulator, das ich eben ausgewählt habe.
Jetzt kann ich über den QF-Test Aufnahmeknopf eine Aufnahme starten. Dadurch öffnet sich das Aufnahmefenster. Dieses Aufnahmefenster spiegelt den Bildschirminhalt des verwendeten iOS-Geräts in Echtzeit.
Wenn ich jetzt über das Aufnahmefenster mit meiner Testanwendung interagiere, zeichnet QF-Test alle meine Aktionen automatisch auf. Das Simulator-Fenster wurde zwar ausgeblendet, aber alles was im Aufnahmefenster passiert, wird live auf den Simulator übertragen. Auch Wischgesten sind für das QF-Test Aufnahmefenster kein Problem.
Interaktionen können nur über das QF-Test Aufnahmefenster aufgenommen werden, nicht direkt auf dem Gerät oder dem Simulator. Dafür bietet das Aufnahmefenster auch noch eine ganze Reihe weiterer Funktionen, wie zum Beispiel die Aufnahme von Checks.
Checks sind dazu da, den korrekten Zustand meiner Anwendung sicher zu stellen. Ich wähle dazu im Aufnahmefenster den Check-Aufnahmemodus aus und wähle ein UI-Element aus, dessen Eigenschaften ich überprüfen will.
Nach Abschluss meiner Aufnahme erhalte ich eine Testsequenz aus einzelnen Schritten, die ich jetzt beliebig aufarbeiten kann und vor allem reproduzierbar und mit größtmöglicher Geschwindigkeit wieder abspielen kann.
Und das war’s schon! Der erste Schritt auf dem Weg zu vollständigen Ende-Zu-Ende-Tests für meine Anwendung.
Modernisierung der Fundamente (Java 17 und 64-bit-only)
Aber das ist natürlich nicht alles, was es in QF-Test 8 Neues gibt. Auch wenn Sie keine iOS-Anwendungen testen möchten, haben Sie einiges von einem Upgrade.
Zum Beispiel haben wir die Fundamente von QF-Test modernisiert und setzen jetzt durchgängig auf Java 17 und 64 Bit, wodurch QF-Test schneller, stabiler und besser in Ihr Betriebssystem integriert wird.
Trotzdem können natürlich weiterhin auch Anwendungen getestet werden, die auf Java 8 aufbauen. Außerdem kann QF-Test weiterhin 32 Bit Windows-Anwendungen testen.
Und auf dem Mac läuft QF-Test jetzt nativ unter Apple Silicon. Selbstverständlich funktionieren aber auch Intel-basierte Anwendungen weiterhin mit QF-Test.
Barrierefreiheit und Accessibility-Testing
Auch in Sachen Barrierefreiheit hat sich in QF-Test 8 viel getan. Nicht nur haben wir die Bedienbarkeit von QF-Test selbst deutlich verbessert: Sie können QF-Test jetzt in weiten Teilen auch nur per Tastatur und per Screenreader bedienen. [ Tastatur branch für HTML kommt evtl. nicht in 8.0 mit rein sonder 8.0.1 ]
Aber QF-Test hilft Ihnen auch dabei, Ihre eigenen Anwendungen Barriere-ärmer zu machen. Version 8 bringt Integration der axe-Bibliothek, mit der Sie Ihre Webanwendung vollautomatisch auf WCAG-Compliance prüfen und umfassende Berichte generieren können.
JSON und Chai
Als die Entwickler:innen hinter QF-Test wissen wir, dass viele unserer Anwender:innen auch mit Code-basierten Tools zum Testen von Software arbeiten, darunter die beliebte JavaScript-Bibliothek „chai.js“.
Auch QF-Test bietet schon immer Code-basiertes Testen an. für QF-Test 8 haben wir uns zusätzlich von Chai inspirieren lassen und bieten nun die „QF-Test Assertions API“ an.
def foo = 'bar'
def beverages = [ tea: [ 'chai', 'matcha', 'oolong' ] ]
expect(foo).to.be.a('String')
foo.should.be.equal('bar')
expect(foo).to.have.lengthOf(3)
expect(beverages).to.have.property('tea').with.lengthOf(3)
Damit können Sie in QF-Test Prüfausdrücke in flüssig lesbarer, sprechender Form schreiben, wie sie Chai.js populär gemacht hat. Das ganze funktioniert obendrein in allen drei unterstützen Skriptsprachen: Groovy, Jython und JavaScript.
Noch schöner wird es, wenn Sie die Assertions API mit unserem neuen JSON-Modul kombinieren, und direkt auf einzelne Properties in einem JSON-Objekt zugreifen.
rc.setLocal("jsonData", """
{
"Actors": [
{
"name": "Robert Downey Jr.",
"age": 53,
"Born At": "New York City, NY",
"Birthdate": "April 4, 1965",
"wife": "Susan Downey",
"weight": 77.1,
"hasChildren": true,
"hasGreyHair": false,
"children": [
"Indio Falconer",
"Avri Roel",
"Exton Elias"
]
}
]
}""")
def data = rc.getJson("jsonData")
data.Actors.should.be.a("ArrayList")
expect(data.Actors[0]).to.be.a("LinkedHashMap")
Assert.instanceOf(data.Actors[0], "LinkedHashMap", "Bla")
data.Actors[0].name.should.be.a("String")
data.Actors[0].age.should.be.a("Long")
data.Actors[0].weight.should.be.a("Double")
data.Actors[0].hasChildren.should.be.a("Boolean")
rc.setGlobalJson("gData",data)
Neues Theme: Solarized
Auch wer einfach Lust auf etwas visuelle Abwechslung hat, kommt mit QF-Test 8 auf seine Kosten. Wir haben das beliebte Solarized-Farbschema als UI-Theme umgesetzt, es gesellt sich zum existierenden Standarddesign und dem Hochkontrast-Modus.
Mit den exakt abgestimmten Farben von Solarized bringen wir noch mehr Abwechslung in die visuelle Darstellung von QF-Test. Und natürlich gibt es auch dieses Theme neben einer dunklen auch in einer hellen Variante.
JPro
QF-Test unterstützt schon seit längerem JPro. JPro ist eine Technologie, die JavaFX-Anwendungen ohne große Code-Anpassungen in den Browser bringt. Mit QF-Test 8 haben wir die Unterstützung für JPro massiv verbessert. QF-Test kann gleichzeitig mit beiden Technologien interagieren, also dem Webbrowser und dem JavaFX-Backend, sodass für JavaFX geschriebene QF-Test Tests fast unverändert mit JPro und dem Browser ausgeführt werden können. JPro
QF-Test has supported JPro for some time. JPro is a technology to translate JavaFX applications into the browser without major code changes. With QF-Test 8, we have massively improved the support for JPro. QF-Test can interact with both technologies at the same time, the web browser and the JavaFX backend. That means that QF-Test tests written for JavaFX can be run in a browser with JPro almost without any changes.
Abschluss
Und das ist noch längst nicht alles, was QF-Test 8 neues mit sich bringt! Es gibt noch viele weitere kleine Verbesserungen und Fehlerkorrekturen. Besuchen Sie unsere Webseite und schauen Sie sich die ausführlichen Release Notes an, um alle Details zu erfahren.
Noch nicht überzeugt? Probieren Sie QF-Test 8 heute noch aus! Unter www.qfs.de können Sie QF-Test kostenlos herunterladen und lostesten!