Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo probar la apk preinstalada en robotium

Cómo probar la apk preinstalada en robotium

Robotium prueba el paquete de instalación de apk de Android

Introducción

Para probar el programa apk, debe tener la misma firma que el programa de prueba que escribimos. Si no hay una clave de firma para el programa apk, debe eliminar la firma del programa apk y luego usar su propia clave para firmarlo (en este paso, podemos usar la clave de depuración que ya está lista). Herramientas disponibles, dirección de descarga para volver a firmar .jar. Esta herramienta puede eliminar la firma original del programa apk y luego usar nuestra propia clave de depuración para firmarlo.

Detalles

Antes de escribir casos de prueba, necesitamos saber el nombre del paquete y el nombre de la actividad del iniciador del programa apk. Podemos pasar estos dos nombres a través del programa. Obtenga el registro al inicio. (adblogcat). El registro del programa imprimirá el nombre del paquete y el nombre de la actividad. El formato de registro es similar a: Actividad inicial: Intención { act=android.intent.action.MAIN cat=android.intent.category.LAUNCHER? flg=0x10200000 cmp=com.example.android.notepad/.NotesList.

El registro anterior muestra que el nombre del paquete es: com.example.android.notepad y el nombre de la actividad de inicio es: com.example.android.notepad.NotesList. El nombre de la actividad aquí es LAUNCHER_ACTIVITYFULLCLASSNAME en. código a continuación.

El siguiente es un ejemplo de código de prueba:

package com.yourcompany.yourtestname;

import com.jayway.android.robotium.solo.Solo;

p>

importar android.test.ActivityInstrumentationTestCase2;

@SuppressWarnings("rawtypes")

clase pública ReallyBlackboxTest extiende ActivityInstrumentationTestCase2 {

Cadena final estática privada LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.newsrob.DashboardListActivity";

Clase estática privada launcherActivityClass;

estática{

prueba {

launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);

} catch (ClassNotFoundException e) {

throw new RuntimeException(e);

}

}

@SuppressWarnings("unchecked")

public ReallyBlackboxTest() lanza ClassNotFoundException {

super(launcherActivityClass);

}

Solo privado;

@Override

protected void setUp() lanza una excepción {

solo = new Solo(getInstrumentation(), getActivity());

}

public void testCanOpenSettings(){

solo.pressMenuItem(0);

}

@Override

public void tearDown() lanza una excepción {

solo.finishOpenedActivities();

}

}