Espresso
Momentan gibt es keine Möglichkeit, Ressource-ID mit reagieren-native zu setzen, so komplexe Aktionen Sie einen Code schreiben müssen, machen, (wie für Elemente warten), andere Dinge scheinen recht gut funktionieren über Androider Studio 'Rekord Espresso Test' Knopf.
- Verwendung prop
accessibilityLabel
als ID für Elemente (z. B. "elementId")
- Verwendung
onView(allOf(withContentDescription("elementId"), isDisplayed()))
Element auf diesem Element
- peform Aktionen (wie
element.perform(click())
)
Hier finden Sie vollständige Prüfung https://gist.github.com/cybergrind/0a2ad855352a5cd47cb5fb6a486c5eaa
Appium
Wenn Sie wollen einfach nur Aktionen durchführen und Screenshots zu erfassen, können Sie dies mit appium:
- Verwendung
accessibilityLabel
als id prop für Elemente
- in Web-Treiber verwenden waitForElementByAccessibilityId
- Capture Screenshots mit saveScreenshot (‘ out.png ') -> dies schaffen 'out.png im Verzeichnis' Datei, wo Sie Tests
in appium ausgeführt haben schließlich Sie so etwas wie (js Beispiel haben):
iOS vs Android accessibilityLabels
Es scheint, dass für Android du frei bist accessibiltyLabel
auf ein beliebiges Element zu verwenden (wie Text, Ansicht und so weiter), aber iOS nicht gesetzt Zugänglichkeit zu allen Elementen wie Adnroid.
Wenn Sie Etikett auf Text
gesetzt wird es nicht gleich Ihr Label
<Text accessibilityLabel="my_text">content</Text>
geben Sie gleich content
auf iOS beschriften, so dass im Grunde können Sie einfach festlegen accessible
Attribut auf Ihrem Textknoten für diese Plattform
<Text accessible>content</Text>
Das gleiche gilt für View
- iOS wird Ihre Etiketten ignorieren.
Bis jetzt funktionieren nicht viele Elemente auf iOS mit Ihren benutzerdefinierten Eingabehilfen.
Hier ist eine Liste von Elementen, die Sie Anwendung testen für plattformübergreif reagieren-native Tests verwenden können
Sie verwenden können:
TouchableHighlight
- nur funktioniert gleiche auf iOS und Android, können Sie set accessibilityLabel
Text
- accessibilityLabel als innere Test sein sollte gleiche + Sie erreichbar Attribut gesetzt haben
wird nicht funktionieren (für beide Plattformen insgesamt):
P. S. wir haben nicht alle möglichen Elemente noch getestet, so dass Ihre Ergebnisse für andere Elemente hinzufügen oder für unsere Ergebnisse
Debuggen
Sie können Quelle Wurzelelement, Druck warten, und es als XML für Debug-Zwecke lesen (für webdriver.io: http://webdriver.io/api/property/getSource.html)