1

Wie mit einem Klick auf die Schaltfläche com.google.android.gms:id/cancel (Text "keine der oben genannten") für eine Google-Dialog wie im Screenshot mit Espresso UI Testing behandelt umgehen? [\Sign in screenshot]Google-Popup Espresso Android Studio 2.2

+0

Ist es notwendig, diesen Dialog zu öffnen und klicken Sie auf? Wenn nicht, kann Espresso Absichten einfangen und stumpfe Antworten geben. https://google.github.io/android-testing-support-library/docs/espresso/intents/ – nenick

Antwort

0

können Sie withText verwenden

onView(withText("None of the above")).perform(click()); 

ich in GitHub ein Beispiel gemacht, Wenn Sie mehr Klarheit benötigen, erklären Sie mir bitte.

+0

Dies funktioniert nicht mit der espresso-Bibliothek: onView (withId (android.R.id.cancel))()); –

+0

Sie können [withText] verwenden (https://developer.android.com/reference/android/support/test/espresso/matcher/ViewMatchers.html#withText (org.hamcrest.Matcher% 3Cjava.lang.String% 3E)) – Cabezas

0

Ich bin mir ziemlich sicher, dass in diesem Fall Espresso aufgrund dieser Rahmenbeschränkung möglicherweise nicht ordnungsgemäß funktioniert. Versuchen Sie es mit dem für Google typischen Tool für die Instrumentierung uiautomator. Es funktioniert gut zusammen mit Espresso.

Check: http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html

Sie auch Open-Source-UI Automation-Tool zu verwenden, können versuchen, Robotium zusammen mit Espresso genannt.

Check: https://github.com/codepath/android_guides/wiki/UI-Testing-with-Robotium

Mit nur Espresso Sie nur innerhalb der App im Test Kontext zu bedienen sind erlaubt, so dass Sie keine Benachrichtigungen überprüfen, die meisten Popup-Dialoge oder eine andere App von exisitng laufen und beide cheking.

Hope it

1

Diese Kontoauswahl Dialoge sind aus Ihrer Testanwendung Rahmen helfen. Espresso kann diese UI-Elemente nicht verarbeiten.

Sie können uiautomator als Teil von Ihnen Espresso Tests verwenden.

siehe Beispiel unten

@RunWith(AndroidJUnit4.class) 
public class SocialLoginTest { 
private UiDevice mUiDevice; 

@Before 
public void before() throws Exception { 
    mUiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); 
} 

@Test 
public void someTest() throws Exception { 
    //Launch activity 
    //Simulate a Click on the button in your activity that triggers account chooser dialog. 

    UiObject mText = mUiDevice.findObject(new UiSelector().text("NONE OF THE ABOVE")); 
    mText.click(); 
    //Assertions for results handled in your application 
} 
+0

Vielen Dank! Ich werde es versuchen und mit dem Ergebnis antworten. –

Verwandte Themen