Wie tippe ich auf die Schaltfläche OK im Berechtigungsdialog, der für den Zugriff auf Fotos auf iOS mit Xamarin.UITest erforderlich ist?

8

Ich verwende Xamarin.UITest, um die Automatisierung in der iOS App auszuführen.

Das Problem ist folgendes: Während des Zugriffs auf die Galerie, um ein Foto hochzuladen, gibt es einen Erlaubnisdialog und ich muss auf "OK" tippen, um sie zu schließen.

Die folgenden Möglichkeiten, die ich versucht habe, aber sie haben nicht funktioniert:

  • Wenn Sie den Befehl tree verwenden, wird die Hierarchie dieses Dialogfelds nicht angezeigt, sodass i kann das zu automatisierende Oberflächenelement nicht finden

  • Verwenden %Code% Dieser angezeigte Fehler: iOSApp.InvokeUia("UIATarget.localTarget().frontMostApp().alert().buttons()[\"OK\"].tap()");

  • Mit UIATarget.localTarget().frontMostApp().alert().buttons()["OK"] could not be tapped because the element is not visible tap@[native code] scheint es möglich zu sein, zu arbeiten, aber Sie müssen wissen, dass die richtige Koordinate von verschiedenen Bildschirmen abhängt und wenn der Dialog erscheint.

Gibt es eine Lösung, um an diesem Problem zu arbeiten? Danke.

    
Phuc Thai 19.05.2015, 04:52
quelle

3 Antworten

4

Systemdialoge für Berechtigungen liegen außerhalb des Anwendungsbereichs der App und werden nicht in tree oder einer anderen Abfrage angezeigt, die Sie über UITest ausführen können. Stattdessen werden diese normalerweise automatisch von der Kalebasse behandelt. Das "automatische" Verhalten besteht darin, einen beliebigen Erlaubnisdialog zu akzeptieren.

Ist Ihr Dialog in einer anderen Sprache, in der "OK" möglicherweise in einer nicht-englischen Sprache angezeigt wird? Wenn dies der Fall ist, müssen wir möglicherweise ein Problem für dieses spezielle Gebietsschema einreichen, damit es implementiert werden kann.

Stellen Sie außerdem sicher, dass Sie die neueste UITest-Version haben. Sehen Sie sich die Änderungen für iOS 10 und InvokeUia hier an.

    
therealjohn 23.12.2016 19:05
quelle
2

versuche das: target.frontMostApp (). mainWindow (). elements () [0] .elements () [2] .elements () [1] .tap ()

    
woof 01.02.2016 22:39
quelle
0

Wenn Sie Repl () verwenden; In Ihrem Code können Sie versuchen, die Markierung für die OK-Schaltfläche mit dem Baumbefehl zu erhalten.

Wenn Sie die Visual Studio Entreprise Edition verwenden, können Sie Ihre Tests mit dem Xamarin Test Recorder erheblich vereinfachen. Das funktioniert fantastisch!

Eine weitere Sache, die beachtet werden sollte, ist, dass UI-Tests normalerweise für Screenshots und Screen-Layout-Validierungen durchgeführt werden, die Funktionalität von Ihrem sollte mit einer anderen Art von Test mit einem anderen Framework oder Toolkit getestet werden.

    
Lucas Moura Veloso 26.12.2016 16:45
quelle

Tags und Links