Testowanie mobilne - Robotium Framework

Robotium to platforma testowa typu open source do pisania automatycznych przypadków testowych dla aplikacji na Androida. Przy wsparciu oprogramowania Robotium programiści przypadków testowych mogą pisać scenariusze testów funkcji, systemów i testów akceptacyjnych, obejmujące wiele działań na Androida.

Robotium może być używane zarówno do testowania aplikacji, w których dostępny jest kod źródłowy, jak i aplikacji, w których dostępny jest tylko plik APK.

Korzyści z Robotium

  • Łatwy do napisania, krótszy kod. Minimalny czas potrzebny na napisanie solidnych przypadków testowych.

  • Możesz tworzyć potężne przypadki testowe przy minimalnej wiedzy o testowanej aplikacji.

  • Struktura automatycznie obsługuje wiele działań systemu Android. Czytelność przypadków testowych jest znacznie lepsza w porównaniu ze standardowymi testami oprzyrządowania.

  • Automatyczny czas i opóźnienia.

  • Automatycznie śledzi bieżącą aktywność.

  • Automatycznie znajduje widoki.

  • Automatycznie podejmuje własne decyzje (np. Kiedy przewijać itp.)

  • Brak modyfikacji platformy Android.

  • Wykonanie testów jest szybkie.

  • Przypadki testowe są bardziej niezawodne ze względu na powiązanie w czasie wykonywania ze składnikami GUI.

  • Płynnie integruje się z Maven lub Ant.

Wady Robotium

  • Robotium nie obsługuje komponentów Flash ani Web.

  • Obsługuje tylko jedną aplikację naraz.

  • Nie może symulować klikania na klawiaturze programowej za pomocą Robotium (należy użyć funkcji „enterText ()”, aby wprowadzić tekst w polu EditText)

  • Robotium nie może wchodzić w interakcje z powiadomieniami na pasku stanu - oznacza to, że należy rozwinąć obszar powiadomień i kliknąć określone powiadomienie.

  • Może działać trochę wolno, zwłaszcza na starszych urządzeniach.

Jak korzystać z Robotium

Step 1- Warunkiem korzystania z oprogramowania Robotium jest Java SDK (minimum 1,6). Jeśli nie masz zainstalowanej Javy w swoim systemie, wykonaj czynności podane poniżej.

  • Pobierz JDK i JRE z Oracle Technology Network

  • Zaakceptuj umowę licencyjną.

  • Zainstaluj JDK i JRE.

  • Ustaw zmienną środowiskową, jak pokazano na zrzucie ekranu poniżej.

Step 2- Pobierz Android Studio z Android Studio

  • Kliknij dwukrotnie plik exe i uruchom instalator.
  • Kontynuuj ze wszystkimi domyślnymi opcjami.
  • Ustaw ANDROID_HOME.

Step 3 - Zainstaluj obrazy i narzędzia Androida.

  • Kliknij Menedżer SDK -
  • Wybierz odpowiedni pakiet. Na przykład, jeśli tworzymy aplikację na Androida 4.4.2, upewnij się, że następujące pakiety są zaznaczone w sekcji Narzędzia -

    • Narzędzia Android SDK w wersji 22.6.3
    • Narzędzia platformy Android w wersji 19.0.1
    • Narzędzia do tworzenia zestawu SDK systemu Android w wersji 19.1

Step 4 - Utwórz urządzenia wirtualne z systemem Android.

  • Otwórz Android Studio i kliknij AVD Manager na pasku narzędzi. AVD pozwalają nam testować i uruchamiać nasze aplikacje na Androida.
  • Użyj tych ustawień dla Nexusa5 AVD -

    • Urządzenie - Nexus 5 (4,95, 1080 x 1920; xxhdpi)
    • Cel - interfejsy API Google x86 (Google Inc.) - poziom API 19
    • (Upewnij się, że wybierasz cel z interfejsami API Google w nazwie).
    • CPU - Intel Atom (x86)
    • Zaznacz pole Użyj GPU hosta
    • Kliknij OK
  • Powinieneś teraz zobaczyć AVD, który utworzyłeś w Menedżerze AVD, gdzie możesz go uruchomić, usunąć lub utworzyć kolejny!

Step 5- Plik Robotium Jar Pobierz plik Robotium Jar z RobotiumTech

Przetestuj aplikację za pomocą Robotium

Aby przetestować aplikację za pomocą Robotium, wykonaj czynności podane poniżej -

Step 1 - Utwórz projekt testowy w Android Studio o nazwie „RobotiumTest”.

Wybierz wszystkie domyślne opcje, aż dojdziesz do strony głównej.

Step 2 - Skopiuj plik jar Robotium do folderu Lib projektu.

Step 3 - Dodaj zależność w pliku build.gradle pod src teczka.

androidTestCompile „com.jayway.android.robotium: robotium-solo-5.5.3”

Step 4 - Zsynchronizuj Gradle.

Step 5 - Utwórz klasę Test w następujący sposób -

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Step 6- Zapisz wszystkie zmiany. Upewnij się, że nie ma błędów.

Step 7- Teraz uruchom test. Jeśli przypadek testowy się powiedzie, powinieneś zobaczyć następujące dane wyjściowe!