1

Как обращаться с кликом по кнопке com.google.android.gms:id/cancel (текст «Ничего из вышеперечисленного») для диалога Google, как на скриншоте, прилагаемом к тесту Espresso UI Testing? [\Sign in screenshot]Google popup Espresso Android studio 2.2

+0

Нужно ли открывать и нажмите этот диалог? Если эспрессо не сможет поймать намерения и дать исчерпывающие ответы. https://google.github.io/android-testing-support-library/docs/espresso/intents/ – nenick

ответ

0

Вы можете использовать withText

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

Я сделал пример в GitHub, Если вам нужно больше разъяснений, пожалуйста, скажите мне.

+0

Это не работает с библиотекой espresso: onView (withId (android.R.id.cancel)). выполнить (нажмите()); –

+0

Вы можете использовать [withText] (https://developer.android.com/reference/android/support/test/espresso/matcher/ViewMatchers.html#withText (org.hamcrest.Matcher% 3Cjava.lang.String% 3E)) – Cabezas

0

Я уверен, что в этом случае Espresso может не работать должным образом из-за этого ограничения рамки. Попытайтесь добиться этого с помощью обычного инструментария Google, который называется uiautomator. Он отлично работает вместе с Espresso.

Проверил: http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html

Вы также можете попробовать использовать с открытым исходным кодом инструмент автоматизации пользовательского интерфейса под названием Robotium вместе с Espresso.

Проверил: https://github.com/codepath/android_guides/wiki/UI-Testing-with-Robotium

Использование только Espresso вам разрешено работать только внутри вашего приложения под контексте тест, так что вы не можете проверить уведомления, большинство всплывающих диалоговых окон или запуска другого приложения из exisitng и cheking обоих.

Надеется, что это поможет

1

Этих счетов Chooser диалоги из вашего объема теста приложений. Espresso не может обрабатывать эти элементы пользовательского интерфейса.

Вы можете использовать uiautomator как часть вас Espresso тестов.

См пример ниже

@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

Большое спасибо! Я попробую и ответю на результат. –

Смежные вопросы