2017-01-17 28 views
2

Я искал этот вопрос, но не нашел ответов.Как измерительные приложения для систем Android

Предположим, что есть системное приложение, которое устанавливается вместе с системой Android, например. Приложение Dialer.

Теперь я хочу провести тестирование или контрольно-измерительное тестирование этого приложения. Я не хочу использовать AOSP Android.mk. Существуют ли альтернативные способы? например Могу ли я создать проект градиента для его проверки?

ответ

0

Вы можете использовать the UiAutomator system для тестирования произвольных приложений, в том числе системных. Однако входы и выходы несколько ограничены.

1

Для приборов испытаний я лично создать независимое приложение, которое потребляет uiautomator: https://developer.android.com/topic/libraries/testing-support-library/index.html#UIAutomator

Это позволяет моделировать пользователя:

@org.junit.Test 
public void testCheckContact() throws InterruptedException { 
    UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); 
    assertThat(device, notNullValue()); 
    device.pressHome(); 

    Context context = InstrumentationRegistry.getInstrumentation().getContext(); 
    Intent intent = context.getPackageManager().getLaunchIntentForPackage("systempackageName"); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
    context.startActivity(intent); 

    ... 
    ... 

    PhoneActivityPage phoneActivityPage = new PhoneActivityPage(); 
    phoneActivityPage.clickContacts(); 

    assertEquals("Contacts", phoneActivityPage.getSelectedTab()); 
} 

Где можно определить PhoneActivityPage и интерфейс в отдельном классе в этом независимый тестовый проект.

Надеюсь, это поможет.

+0

Спасибо @ abstractx1, это то, что я изучаю, обновит позже – wxi

+0

Это работает. С ним я показал приложение для телефона, а затем нажал панель набора номера. – wxi

+0

@ wxi: Блестящий! Рад, что он работает на вас. – abstractx1