Was ist der richtige Mechanismus ist mit Interstitial Ad während Espresso-Tests umgehen?
Es gibt Interstitial Ad zwischen zwei Aktivitäten und ich möchte einen Espresso Test schreiben, der beide Aktivitäten umfasst.
Gibt es eine Möglichkeit, die Interstitial Ad während des Espresso-Tests zu schließen, um die zweite Aktivität fortzusetzen?
IMO, die richtige Lösung ist, Ihre Tests einzurichten, so dass sie nicht mehrere Aktivitäten umfassen müssen.
Tests sollten konzentriert und isoliert werden. Sie müssen Aktivitäten nicht aufspannen, um das Verhalten zu bestätigen, da am Übergangspunkt eine logische Trennung vorhanden ist.Anstatt also einen Test zu schreiben, der besagt, dass "das Tun von x in Aktivität A die Aktivität B im Zustand y öffnet und z in Aktivität B das tun soll", schreiben Sie mehrere Tests:
1) "doing x in Aktivität A sollte eine Absicht zum Öffnen von Aktivität B starten "(Sie interessieren sich nicht für den Status der Benutzeroberfläche oder Ihre Anzeige), die Sie einfach mit der Intents-API überprüfen können.
2) "Starten von Aktivität B mit einem bestimmten Intent (was Sie von dem Übergang von A nach B erwarten) sollte es initialisieren, um y zu setzen", das Sie leicht einrichten können, indem Sie einen Intent an Ihre Aktivitätsregel übergeben und Verwenden von Matchern auf der Benutzeroberfläche.
3) "Ausführen von z in Aktivität B, wenn mit Status y gestartet wird, sollte dies oder das tun", was Sie leicht überprüfen können, indem Sie die Aktivität wie in (2) starten.
Hoffe, dass hilft.
Haben Sie Glück dabei? Ich stecke auch hier fest. – Matej
Ich denke, es gibt keine direkte Möglichkeit, Espresso-Tests mit der Bibliothek UI (in diesem Fall google admob) zwischen Aktivitäten zu laufen .. In meinem Fall war es kostenlos und bezahlte Geschmack Sache .. Ich verwendete Ad in "free" Geschmack zwischen zwei Aktivitäten und nicht in "bezahlt" man .. so im Fall von Free Flavor, habe ich getestet, ob UI-Elemente auf dem nächsten Bildschirm sichtbar sind, wenn ich auf ein Element im ersten Bildschirm klicken, die Benutzer auf den zweiten Bildschirm..If Sie sind sichtbar, dann sollte der Test fehlschlagen und umgekehrt Tests für den Fall der "kostenpflichtigen Version". Macht es Sinn? Irgendwelche Vorschläge, um das zu verbessern? – Droidwala
Vielleicht können Sie den UI-Automator verwenden und die System-Zurück-Taste dazu drücken und das Interstitial auf diese Weise schließen. Wie auch immer, ich gab auf, da ich auf Zeit bedacht war und Espresso ironischerweise für mich flockiger war als Robotium, also benutzte ich das mit ein bisschen gewohnter Wartelogik, und es funktionierte sofort. – Matej