Buscar..


Sintaxis

  • Instrumentación getInstrumentation ()
  • UIDevice UiDevice.getInstance (Instrumentación de instrumentos)
  • booleano UIDevice.pressHome ()
  • UIDevice.pressBack booleano ()
  • UIDevice.pressRecentApps booleano ()
  • void UIDevice.wakeUp ()
  • booleano UIDevice.swipe (int startX, int startY, int endX, int endY, int pasos)
  • booleano UIDevice.drag (int startX, int startY, int endX, int endY, int pasos)
  • UIObject2 UIDevice.findObject (By.desc (String contentDesc))
  • booleano UIObject2.click ()

Observaciones

UIAutomator es especialmente bueno para probar historias de usuarios. Se encuentra con problemas si los elementos de la vista no tienen una identificación de recurso única ni desc . En la mayoría de los casos, hay una manera de completar la prueba de todos modos, lo que lleva mucho tiempo. Si puede influir en el código de su aplicación, UIAutomator puede ser su herramienta de prueba.

Prepara tu proyecto y escribe el primer test UIAutomator.

Agregue las bibliotecas necesarias en la sección de dependencias del build.gradle de su módulo Android:

android {
...
  defaultConfig {
    ...
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  }
}

dependencies {
  ...
  androidTestCompile 'com.android.support.test:runner:0.5'
  androidTestCompile 'com.android.support.test:rules:0.5'
  androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
  androidTestCompile 'com.android.support:support-annotations:23.4.0'
}

⚠ Tenga en cuenta que, por supuesto, las versiones pueden diferir en el tiempo medio.

Después de esta sincronización con los cambios.

Luego agregue una nueva clase Java dentro de la carpeta androidTest:

public class InterAppTest extends InstrumentationTestCase {

  private UiDevice device;

  @Override
  public void setUp() throws Exception {
     device = UiDevice.getInstance(getInstrumentation());
  }

  public void testPressHome() throws Exception {
    device.pressHome();
  }
}

Al hacer un clic derecho en la pestaña de clase y en "Ejecutar" InterAppTest "ejecuta esta prueba.

Escribiendo pruebas más complejas usando el UIAutomatorViewer

Para habilitar la escritura de pruebas de IU más complejas, se necesita el UIAutomatorViewer . La herramienta ubicada en / tools / hace una captura de pantalla completa que incluye los diseños de las vistas que se muestran actualmente. Vea la siguiente imagen para tener una idea de lo que se muestra:

introduzca la descripción de la imagen aquí

Para las pruebas de interfaz de usuario, estamos buscando una identificación de recursos , una descripción de contenido o algo más para identificar una vista y usarla dentro de nuestras pruebas.

El uiautomatorviewer se ejecuta a través de terminal.

Si ahora, por ejemplo, queremos hacer clic en el botón de aplicaciones y luego abrir alguna aplicación y deslizar alrededor, así es como puede verse el método de prueba:

public void testOpenMyApp() throws Exception {
    // wake up your device
    device.wakeUp();

    // switch to launcher (hide the previous application, if some is opened)
    device.pressHome();

    // enter applications menu (timeout=200ms)
    device.wait(Until.hasObject(By.desc(("Apps"))), 200);
    UiObject2 appsButton = device.findObject(By.desc(("Apps")));
    assertNotNull(appsButton);
    appsButton.click();

    // enter some application (timeout=200ms)
    device.wait(Until.hasObject(By.desc(("MyApplication"))), 200);
    UiObject2 someAppIcon = device.findObject(By.desc(("MyApplication")));
    assertNotNull(someAppIcon);
    someAppIcon.click();

    // do a swipe (steps=20 is 0.1 sec.)
    device.swipe(200, 1200, 1300, 1200, 20);
    assertTrue(isSomeConditionTrue)
}

Creación de un conjunto de pruebas de pruebas UIAutomator

Poner las pruebas UIAutomator juntas en un conjunto de pruebas es algo rápido:

package de.androidtest.myapplication;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({InterAppTest1.class, InterAppTest2.class})
public class AppTestSuite {}

Ejecute de forma similar a una sola prueba haciendo clic derecho y ejecutando la suite.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow