Archiwum informacji o wersji testowej

AndroidX Test Espresso 3.1.1, Runner 1.1.1, reguły 1.1.1, monitorowanie 1.1.1 AndroidTestOrchestrator 1.1.1, Core 1.1.0, Truth 1.1.0, JUnit 1.1.0 (2018-12-13)

To jest stabilna wersja AndroidX Test 1.1.0.

  • Rdzeń
    • Konfiguruj, aby w scenariuszu aktywności znajdowały się działania rozpoczynające inne działanie

AndroidX Test Espresso 3.1.1-beta01, Runner 1.1.1-beta01, Reguły 1.1.1-beta01, Monitor 1.1.1-beta01 AndroidTestOrchestrator 1.1.1-beta01, Core 1.1.0-beta01 Truth 1.1.0-beta01, J

  • Rdzeń
    • Nowy artefakt rozszerzenia core-ktx kotlin. Zawiera przyjazny dla kotlin interfejs APIActivityScenariusz.launchActivity.
    • Nowy interfejs ActivityScenariusz API do uruchamiania działań z intencjami niestandardowymi
    • Nowy interfejs ActivityScenariusz API do otrzymywania wyniku działania
    • Wyłącz możliwość zamknięcia scenariuszy aktywności
  • Espresso
    • Aby zapewnić zgodność z interfejsem API 28, zmodyfikuj atrybuty za pomocą elementów ResourceNameMatcher i HumanReadables.
    • Zaktualizuj opis funkcji ReplaceTextAction, aby uwzględnić parametr stringToBeSet
    • Wstrzymuj espresso w trybie wstrzymania loopera Robolectric.
  • JUnit
    • Nowy interfejs ActivityScenariuszRule API do automatycznego uruchamiania i zamykania działania podczas konfiguracji i usuwania testów
    • Nowy artefakt rozszerzenia junit-ktx kotlin! Zawiera przyjazny dla kotlin interfejs ActivityScenariuszRule API
  • Gra biegowa
    • Zadbaj o spójność działania pakietów -e i testFile podczas odbierania pakietów.
  • Fakt
    • Dodawanie interfejsów API pakietu bool, parcelable i parcelableAsType BundleSubject

AndroidX Test Espresso 3.1.0, Runner 1.1.0, reguły 1.1.0, monitorowanie 1.1.0 AndroidTestOrchestrator 1.1.0, Core 1.0.0 Truth 1.0.0, JUnit 1.0.0 (2018.10.24)

  • Wszystkie
    • Ustaw parametr minSdkVersion na 14 i targetSdkVersion na 28
  • Espresso
    • Popraw funkcję withContentDescription, aby móc korzystać z typów innych niż ciągi
    • Dodaj obsługę korzystania z Espresso w Robolectric
    • Problem 72798625: Espresso ViewMatchers.withText nie działa, gdy włączona jest opcja textAllCaps.
    • Dodaj obsługę wstrzykiwania sekwencji zdarzeń ruchu
  • Intencje
    • Dodaj interfejs API w wersji beta do pobierania listy intencji. Przeznaczone do użytku z nowymi asercjami prawdy
  • Gra biegowa
    • Dodaj obsługę aplikacji błyskawicznych
    • Wycofaj wersję androidx.test.runner.AndroidJUnit4 i zastąp ją androidx.test.ext.junit.runners.AndroidJUnit4
  • Monitorowanie
    • Wycofaj androidx.test.InstrumentationRegistry i zastąp go androidx.test.platform.app.InstrumentationRegistry oraz androidx.test.core.app.ApplicationProvider.
  • AndroidTestOrchestrator
    • Włącz obsługę pokrycia przez administratora tylko wtedy, gdy przekazane są zarówno argumenty „coverage”, jak i „coverageFilePath”.
    • Poczekaj na debuger tylko po ustawieniu parametru -debug, ale nie wyświetlaj listy przypadków testowych ATO. Dodano nową flagę OrchestratorDebug do debugowania samego narzędzia orkiestrowego.
  • Rdzeń
    • Nowy artefakt! Zawiera nowe interfejsy API, które obsługują testy lokalne i działające na urządzeniu:
      • Pobieram kontekst: ApplicationProvider
      • Kontrolowanie cykli życia działań: ActivityScenariusz(beta)
      • Narzędzia do tworzenia MotionEvent, PackageInfo
      • Klasa narzędzia Parceables
  • Fakt
    • Nowy artefakt! Obejmuje niestandardowe obiekty prawda w przypadku powiadomień, intencji, pakietu, interfejsu Parcelable i MotionEvent
  • JUnit
    • Nowy artefakt! Obejmuje klasę JUnit Runner androidx.test.ext.junit.runners.AndroidJUnit4, która obsługuje testy lokalne i na urządzeniu.

Espresso 3.0.2-beta1, Runner 1.0.2-beta1, reguły 1.0.2-beta1, monitor 1.0.2-beta1, AndroidTestOrchestrator 1.0.2-beta1 (16.04.2018)

  • Espresso
    • Breaking API Change:
      • W numerze 64062890 dowiedzieliśmy się, że używamy Guava Optional w naszym publicznym interfejsie API. To był straszny niedbalstwo z naszej strony . W związku z tym wprowadziliśmy w tej wersji zmianę dotyczącą publicznego interfejsu API, która rozwiązuje ten problem. Wprowadziliśmy brzydką otokę klasy Guava Optional o nazwie EspressoOptional, która znajduje się w przestrzeni nazw „android.support.test.espresso.util”. Deweloperzy, którzy używali ujawnionego Guava Optional API, muszą zmienić importowanie i odwołania, aby używać EspressoOptional podczas aktualizacji do nowej wersji. Przepraszamy za niedogodności.
    • Interfejsy API onView() i onData() są teraz oznaczone jako @CheckReturnValue, aby zapobiec błędom.
    • Poprawiono plik POM espresso-core, który nie pobierał zależności „reguł”; zamiast tego pobierał ją POM z zamiarem espresso. Dla programistów powinna to być zmiana typu NoOp, ponieważ z zamiarem espresso nie można używać bez espresso-core.
    • Problem 65486414: espresso brak zależności od gujawy
    • Problem 65576174: Espresso IdlingResourceRegistry.sync powoduje drugą niepowodzenie testu
    • Problem 65568629: Espresso.onIdle nie używa IdlingRegistry
    • Problem 69333598: espresso 3.0.1 niezgodne z funkcją play-services-auth:11.6.0 w module biblioteki Androida.
    • Problem 64062890: wewnętrzny opcjonalny typ ujawniony przez interfejs AdapterViewProtocol
    • Problem 64091847: Espresso 3.0.0 NIE powinno zależeć od mechanizmu uruchamiania testów
    • Problem 73722050: pakiety espresso-contrib 3.0.2-alpha1 android.arch.{lifecycle/core}
  • Pilot do espresso
    • To zupełnie nowy artefakt. Połączyliśmy wszystkie funkcje Espresso z wielu procesów poza artefakt espresso. Będzie to bardziej przejrzyste i powinno znacznie zmniejszyć ogólny rozmiar rdzeni espresso i liczbę metod.
  • Gra biegowa
    • Obetnij zrzut stosu, jeśli jest zbyt duży dla transakcji powiązanej. Zespół AJUR musi zgłaszać problemy do AM za pomocą protokołu IPC powiązanego, więc musimy upewnić się, że nie przekroczymy limitu transakcji Binder, który wynosi 1 MB na proces.
    • Problem 65828576: awaria TestRequestBuilder podczas wykonywania testu w klasie z użyciem @Ignoruj
    • Problem 37057596: nie obsługujemy błędów w @BeforeClass
  • Reguły
    • Pamiętaj, aby opublikować odwołanie do testowanej aktywności po zmianach w cyklu życia. W trakcie trwania testu można teraz manipulować aktywnością bezpośrednio przy użyciu odwołania uzyskanego za pomocą metody #getActivity(). Jeśli działanie zostało zakończone i ponownie uruchomione, odniesienie zwrócone przez #getActivity() zawsze wskazuje jej bieżące wystąpienie.
    • Problem 64389280: GrantPermissionRule nie zapewnia WRITE_EXTERNAL_STORAGE.
    • Problem 37065965: ActivityTestRule na wyciek aktywności po zmianie orientacji.
    • Problem 75254050: ActivityTestRule nie aktualizuje instancji aktywności podczas zmian konfiguracji.
    • Problem 64464625: nie można wykonywać działania interfejsu użytkownika w metodzie zakończenia() aktywności.
  • AndroidTestOrchestrator
    • Przekazuj flagi -e coverage true -e coverageFilePath /sdcard/foo/, aby generować pliki pokrycia w danej lokalizacji (aplikacja musi mieć uprawnienia do zapisu w danej lokalizacji). Konwencja nazewnictwa plików dotyczących pokrycia wygląda teraz tak: com.foo.Class#method1.ec. Pamiętaj, że ta funkcja jest obsługiwana tylko w trybie izolowanym. Nie można jej też używać razem z flagą coverageFile AndroidaJUnitRunner. Ponieważ wygenerowane pliki pokrycia zastępują się nawzajem.
    • Przekaż flagę -e clearPackageData, jeśli chcesz, aby administrator uruchamiał polecenia pm clear context.getPackageName() i pm clear targetContext.getPackageName() między wywołaniami testowymi. Pamiętaj, że kontekst w poleceniu jest związany z testowaną aplikacją.
    • Naprawiliśmy – w przypadku pustego testu (tzn. braku @Test w obrębie elementu docelowego) wynik testu jest inny niż w starszym trybie.
    • Problem 72758547: narzędzie Test Orchestrator powoduje, że dane dotyczące zakresu Jacoco są niekompletne, ponieważ mają tylko dane z ostatniego uruchomienia testu
    • Problem 67916042: Android Test Orchestrator : wykonanie zostało zatrzymane w przypadku awarii procesu z powodu braku pamięci
    • Problem 77752735: awarie narzędzia Orchestrator w przypadku transakcji TransactionTooLarge
    • Problem 77549481: narzędzie Test Orchestrator powinno uruchamiać polecenie „pm clear” po każdym teście

Espresso 3.0.2-alpha1, Runner 1.0.2-alfa1, reguły 1.0.2-alfa1, AndroidTestOrchestrator 1.0.2-alfa1 (2017.12.05)

  • Espresso

    • Intents ma teraz odpowiedź z możliwością wywołania, co umożliwia wykonywanie testów po przechwyceniu uruchomionej intencji, ale przed zwróceniem obiektu Instrumentation.ActivityResult.
  • Biegarze

    • Wydziel artefakt Maven monitora com.android.support.test:monitor:<version> dla użytkowników, którzy potrzebują interfejsu MonitoringInstrumentation bez uruchomionych testów i funkcji JUnit.

      Jeśli używasz com.android.support.test:runner:<version>, wszystko działa zgodnie z oczekiwaniami, ponieważ Gradle automatycznie pobiera moduł monitor jako zależność modułu runner.

    • Dodano flagę newRunListenerOrderMode. Gdy ustawiona jest true, detektory zdefiniowane przez użytkownika działają przed detektorami domyślnymi. Spodziewamy się, że w przyszłości taki sposób działania stanie się domyślny.

    • Problem 65828576: TestRequestBuilder awarii podczas wykonywania testów w klasie z adnotacją @Ignore (samodzielną bez przeprowadzania testów lub funkcji JUnit).

  • AndroidTestOrchestrator

    • Teraz przeprowadza się puste testy w taki sam sposób jak niesorganizowane AndroidJUnitRunner.
    • Narzędzie Orchestrator może teraz obsługiwać bardzo duże standardowe dane wyjściowe z AndroidJUnitRunner.

Espresso 3.0.1, Runner 1.0.1, reguły 1.0.1, AndroidTestOrchestrator 1.0.1 (28.08.2017)

  • Espresso

    • Dodaliśmy opcję IdlingPolicy pomijającą onTimeout(), gdy debuger kroków jest podłączony do maszyny wirtualnej.
    • Problemy 64024656, 64247586 i 64525881: nie zgłaszaj błędów związanych z nieudanym wczytaniem klas, chyba że użytkownik wczytuje określone klasy, podając argument mechanizmu uruchamiania klas -e.
    • Problem 64877246: dodawanie brakujących zajęć do pliku JAR źródła.
  • Biegarze

    • Uproszczona logika: ShardingFilter.
    • Problem 65025743: filtr @RequiresDevice obsługuje teraz emulatory FTL.
  • AndroidTestOrchestrator

    • Nie powtarzaj błędów w raportach. Gdy proces testowy ulegnie awarii, a w trakcie testu nie uda się go rozwiązać, zgłaszany jest tylko 1 niepowodzenie.
    • Poprawiono dokument Javadoc dla narzędzia Orchestrator.
    • Testy są teraz wskazywane jako nieoddane w przypadku awarii procesu zdalnego.
    • Teraz obsługuje zignorowane przypadki testowe.
    • Teraz wyklucza zignorowane przypadki testowe ze stopki, aby dopasować je do wcześniejszych wyników.
    • Rozwiązaliśmy problemy z uprawnieniami w czasie działania. Raporty z testów są teraz zapisywane na karcie SD w Androidzie 7.0 (poziom interfejsu API 24) i nowszych.

Espresso 3.0.0, Runner 1.0.0, reguły 1.0.0, AndroidTestOrchestrator 1.0.0 (25.07.2017, ogłoszenie)

Zmiany powodujące niezgodność

  • Wszystkie artefakty
    • Wycofanie obsługi poziomów interfejsu API niższych niż 15 – jednak minimalny pakiet SDK nadal wskazuje interfejs API na poziomie 9, aby dać użytkownikom czas na uaktualnienie.
  • Espresso

Znane problemy

  • AndroidTestOrchestrator
    • Argumenty uruchamiające -e numShards i -e shardIndex nie są obecnie obsługiwane
    • Testy z parametrami nie są obecnie obsługiwane

Nowe funkcje

  • Reguły
  • AndroidTestOrchestrator
    • Android Test Orchestrator to nowy sposób zbierania i przeprowadzania testów, z naciskiem na prawidłowość i izolację. Orchestrator to niezależny proces instrumentacji, który uruchamia jeden proces uruchamiania instrumentacji dla każdego testu i gromadzi wyniki.
      • Awarie aplikacji likwidują instrumentację biegową, ale nie moderator, dzięki czemu pakiet testowy może działać
      • Wymaga zainstalowania pliku APK narzędzia orkiestrowego – 'com.android.support.test:orchestrator:1.0.0'
      • Wersja 1.0 obsługuje wyłącznie interfejs wiersza poleceń. Planujemy integrację z Android Studio i Laboratorium Firebase.

Poprawki błędów

  • Espresso
    • Ulepszona synchronizacja widoku głównego, aby znacznie ograniczyć niestabilne działanie
    • Napraw uszkodzenia IdlingResourceRegistry
    • Lepsza synchronizacja z obiektami IdlingResource
    • Problem 37132680: Espresso nie czeka na zakończenie tworzenia okna dialogowego przed wykonaniem następnego działania.
    • Problem 37103280: Espresso powinno wysyłać reguły konsumenckie ProGuard dla klientów, którzy nie muszą ich dodawać.
    • Problem 37094726: intencje Espresso zawierają niepotrzebną etykietę aplikacji
    • Problem 37093953: Espresso: brak dostępnego sprawdzenia pod kątem pustego lub null tekstu błędu
    • Problem 37071776: espresso-core zawiera pliki .pom Gujawy
    • Problem 37062612: NPE w release()
    • Problem 37063389: zależności Guavy i espresso-web jako androidTest nie kompilują się.
    • Problem 37070533: Dodano obsługę NavigationView w bibliotece pomocy Android Design
  • Gra biegowa
    • Napraw możliwość użycia atrybutu @UiThreadTest w połączeniu z komponentem @Test(timeout = 123)
    • Poprawiono -e notClass argument biegacza
    • Poprawiliśmy -e log, aby obsługiwać pakiety testowe JUnit3 i JUnit4, a także certyfikaty uruchamiające Parameterized i Enclosed
    • Problem 37663530: przed każdą metodą testowania poczekaj na zakończenie wszystkich działań
    • Problem 37132680: Espresso nie czeka na zakończenie tworzenia okna dialogowego przed wykonaniem następnego działania.
    • Problem 37123213: @RequiresDevice zignorowano w interfejsie ABI x86_64
    • Problem 37101485: niektóre argumenty podane w pliku manifestu dla AndroidJUnitRunner, np. rozmiar testowy, adnotacja i debugowanie, są ignorowane.
    • Problem 37082857: półrównoległe wykonanie testu Espresso kończy się niepowodzeniem na obiektach statycznych
    • Problem 37063396: kontekst nie został zainicjowany z użyciem ProviderTestCase2 (powoduje to NullPointerException)

Inne ważne zmiany

  • Pliki binarne są teraz publikowane przez Google Maven
  • Zmniejszony rozmiar plików espresso-core i espresso-web JAR – w osadzonych zależnościach zastosowano teraz ProGuard
  • Wszystkie pliki .aar zawierają teraz reguły ProGuard
  • Dodaj proguard_library.cfg plików do opublikowanych artefaktów
  • Interfejs Tapper ma nową wersję sendTap() do wdrożenia

Treści publikowane przez użytkowników zewnętrznych

Espresso 2.2.2, Runner/Rules 0.5 (22.02.2016, wersja cicha)

Nowe funkcje

  • espresso
    • Problem 194253: dodano obsługę interfejsu NavigationView w bibliotece projektów pomocy Androida
    • Dodano testy, czy włączone są animacje i przejścia
    • Nowy interfejs API ViewMatcher: withResourceName()

Poprawki błędów

  • espresso
    • Problem 195331: aplikacja espresso-core umieszczono pliki pom z gujawy
    • Przeniesiono nieaktywny zasób służący do liczenia z espresso-contrib
  • reguły
    • Problem 187249: NPE w domenie Intents.release()
  • runner
    • Problem 196066: argument -e log true w AndroidJUnitRunner nie omija rzeczywistego testu
    • Poczekaj na debugera w onCreate() pliku uruchamiającym
    • Przeniesiono wszystkie obsługiwane adnotacje testowe z platformy do ATSL.
    • Usunięto zrzut stosu zrzutu stosu o braku JSBridge
    • Naprawiono: AndroidAnnotatedBuilder

Inne ważne zmiany

  • ActivityTestRule, UiThreadTestRule, IntentsTestRule i ServiceTestRule są w fazie beta
  • Dodaj plik ustawień stylu kodu, aby uzyskać jednolite formatowanie kodu

Espresso 2.2.1, Runner/Rules 0.4 (15.09.2015)

Nowe funkcje

  • reguły
    • Dodano nowy konstruktor IntentsTestRule, który jest w pełni zgodny z ActivityTestRule
  • runner
    • Dodano instalację specjalnych przypadków multidex dla interfejsów API na poziomach 15 i niższych
    • Do zajęć i pakietu dodano filtry wykluczania:
      • Uruchomienie wszystkich testów oprócz tych w konkretnej klasie: adb shell am instrument -w -e notClass com.android.foo.FooTest
      • Przeprowadzenie wszystkich testów oprócz jednego: adb shell am instrument -w -e notClass com.android.foo.FooTest#testFoo
      • Przeprowadzam wszystkie testy oprócz konkretnego pakietu: adb shell am instrument -w -e notPackage com.android.foo.bar

Treści publikowane przez użytkowników zewnętrznych

  • espresso
    • 157911: dodaj dopasowanie widoku dla typu danych wejściowych w obiekcie EditText
    • 157912: dodaj dopasowanie widoku dla tekstu błędu w obiekcie EditText
    • 150674: dodaj obsługę parametru DrawerActions w przypadku szuflad z dowolną grawitacją
    • 150744: DrawerActions już nie wyciek parentListener
    • 153303: grawitacja określona przy sprawdzaniu, czy szuflada jest otwarta czy zamknięta.
    • 157910: dodaj DrawerLayout fabryki otwartych i zamkniętych akcji

Poprawki błędów

  • espresso
    • ViewActions.closeSoftKeyboard() teraz sprawia, że klawiatura programowa zniknęła
    • Rozwiązaliśmy problem z synchronizacją z metodą Espresso.pressBack() Espresso na poziomie API 21 i wyższym
    • Naprawiono synchronizację animacji zamknięcia klawiatury na poziomie API 23
  • reguły
    • Poprawiono funkcję ServiceTestRule w interfejsie API poziomu 23, startService() zawsze musi być wywoływana z jawnym Intent
  • runner
    • Naprawiono problem z uszkodzoną obsługą Gradle JaCoCo
    • Naprawiono obsługę uszkodzonego fragmentacji testu
    • Naprawiono niespójność stanu w narzędziu do uruchamiania testów po upływie limitu czasu oczekiwania stylu na JUnit3

Inne ważne zmiany

  • Poprawki języka Javadoc i ulepszenia komunikatów o błędach
  • Ignoruj metody suite() i nie ignoruj błędów inicjowania podczas korzystania z filtrów metod

Espresso 2.2 / ATSL 0.3 (9.06.2015)

Nowe funkcje

  • espresso-web 2.2
    • Nowa obsługa klienta WebView
  • espresso-core 2.2
    • Przeniesiono do sztyletu w wersji 2
    • Migracja do hamcrest w wersji 1.3
  • espresso-contrib 2.2
    • Testy ułatwień dostępu
    • Obsługa grawitacji DrawerActions
  • rules 0.3
    • DisableOnAndroidDebug reguła
  • runner 0.3
    • Uaktualnij z wersji JUnit 4.10 do JUnit do wersji 4.12
    • Migracja do Hamcrest w wersji 1.3

Poprawki błędów

  • Naprawiono wyciek danych ParentListener z elementu DrawerActions
  • Niepowodzenie założenia jest teraz traktowana jako test ignorowania, a nie jako niepowodzenie
  • Naprawiliśmy wyciek danych instancji aktywności (MonitoringInstrumentation) w interfejsie ExecutorService
  • Naprawiono blokowanie się osieroconych aktywności na zatrzymanym etapie.
  • Zaktualizuj funkcję Until.scrollFinished(), aby zwracała wartość „prawda”, jeśli nie zostały wygenerowane żadne zdarzenia przewijania. Chroń się przed potencjalnymi niebezpiecznymi osobami niepełnosprawnymi w aplikacji UiObject2#setText().

Espresso 2.1, Test Runner/Rules 0.2 i UIAutomator 2.1.0 (21.04.2015)

Zmiany powodujące niezgodność

  • Artefakt systemu uruchamiającego test został podzielony na 2 części, a nazwa została zmieniona z com.android.support.test:testing-support-lib:0.1 na com.android.support.test:runner:0.2 i com.android.support.test:rules:0.2.

Nowe funkcje

  • espresso-intents: interfejs API podobny do Mockito, który umożliwia hermetyczne testowanie interaktywności, umożliwiając autorom testów weryfikację i skracanie intencji wychodzących.
    • IntentsTestRule: rozszerzenie ActivityTestRule, zainicjowanie i publikowanie Espresso-Intents w testach funkcjonalnego interfejsu użytkownika.
  • espresso-core
    • ViewActions: dodano możliwość uruchamiania asercji globalnych przed wykonaniem działań. Jest to przydatne w przypadku innych platform, które bazują na Espresso, do sprawdzania stanu hierarchii widoków podczas wykonywania istniejącego pakietu testów Espresso.
    • Przeciążenie: ViewMatchers.withContentDescription() resId
  • reguły
    • ActivityTestRule: ta reguła służy do testowania funkcjonalnego pojedynczej aktywności
    • Adnotacje UiThreadRule i UiThreadTest: ta reguła pozwala na wykonywanie metody testowej z adnotacją UiThreadTest w głównym wątku aplikacji (lub w wątku UI).
    • ServiceTestRule: ta reguła umożliwia testowanie funkcjonalne usługi
  • runner
    • ApplicationLifecycleCallback: wywołanie zwrotne do monitorowania zdarzeń cyklu życia aplikacji
    • Wszystkie argumenty uruchamiającego można teraz też określić w pliku manifestu Androida za pomocą tagu <meta-data>
  • UIAutomator
    • UiDevice.dumpWindowHierarchy() może teraz akceptować File i OutputStream

Poprawki błędów

  • espresso
    • Dopasowanie kursora zwraca teraz false, jeśli kolumny nie można znaleźć, więc Hamcrest może przejść do następnego kursora
    • Zdarzenie NullPointerException z parametrem withTitle PreferenceMatchers już nie występuje
    • Wyrejestrowanie bezczynnego zasobu nie powoduje już, że Espresso uznaje, że zasoby są zajęte
    • Zaktualizowana wersja adnotacji pomocy technicznej używana przez Espresso Contrib
  • runner
    • AndroidJUnit4 pomija teraz testy z błędnymi założeniami
  • UIAutomator
    • Obserwujący, aby zapobiec StaleObjectException

Inne ważne zmiany

  • Dodaj lepszy komunikat o błędzie, gdy nie można wpisać tekstu przy użyciu ciągu znaków spoza alfabetu łacińskiego

UIAutomator 2.0 (12.03.2015)

Narzędzie UI Automator opiera się teraz na instrumentacji Androida i możesz tworzyć i przeprowadzać testy za pomocą polecenia ./gradlew connectedCheck.

Espresso w wersji 2.0, Test Runner 0.1 (opublikowano 19.12.2014)

Zmiany powodujące niezgodność

  • Usługa Espresso została przeniesiona do nowej przestrzeni nazw z android.support.test.espresso do android.support.test.espresso
  • Nazwa artefaktu espresso została zmieniona.
    • espresso-1.1.jar to teraz espresso-core-release-2.0.jar
    • Interfejs aplikacji IdlingResource został przeniesiony do osobnej biblioteki: espresso-idling-resource-release-2.0.jar
    • CountingIdlingResource znajduje się teraz w espresso-contrib-release-2.0.jar (tak jak zawsze)
  • Opcjonalna (zależność gujawy) została usunięta z publicznego interfejsu API, aby ułatwić przepakowanie tej zależności i uniknąć kolizji plików DEX (głównego źródła problemów z programowaniem). Dotyczy to m.in. tych metod:
    • ViewAssertion.check()
    • HumanReadables.getViewHierarchyErrorMessage()

Nowe funkcje

  • Działania
    • ViewActions
      • replaceText()
      • openLink()
      • Przesuń palcem w górę i w dół
    • espresso-contrib
      • RecyclerViewActions: obsługuje interakcje z RecyclerViews
      • PickerActions: obsługuje interakcje z selektorami Date i Time
  • Dopasowania
    • RootMatchers
      • isPlatformPopup()
    • ViewMatchers
      • isJavascriptEnabled()
      • withSpinnerText()
      • withHint()
      • isSelected()
      • hasLinks()
    • LayoutMatchers: dopasowania do testowania układu dotyczącego i18n
    • CursorMatchers: zbiór dopasowań dla Cursor obiektów
  • Asercje
    • PositionAssertions, w tym isLeftOf() i isAbove(): kolleciton ViewAssertions do sprawdzenia względnego położenia elementów na ekranie
    • LayoutAssertions: asercje do testowania układu dotyczącego i18n
  • Aplikacja testowa: wiele nowych przykładowych działań/testów
  • Inny:
    • Espresso.unregisterIdlingResources() i Espresso.getIdlingResources(): zapewniają dodatkową elastyczność podczas pracy z IdlingResources
    • ViewInteraction.withFailureHandler(): umożliwia zastąpienie modułu obsługi błędów z onView()
    • Pomoc na poziomie onData() dotycząca: AdapterViews wspierana przez: CursorAdapters

Poprawki błędów

  • ViewMatchers.isDisplayed() pasuje do widoków, które zajmują cały ekran, ale nie są już wyświetlane w 90%
  • Wykonanie wezwania do działania polegającego na przesuwaniu w celu DrawerActions.openDrawer() nie powoduje już wyników w języku: IdlingResourceTimeoutException

Inne ważne zmiany

  • Zmieniono z budowania z Mavenem na Gradle
  • Przenieśliśmy zależności espresso (Gujava, Dagger, Hamcrest), aby uniknąć kolizji DEX
  • Zmieniono na zwracanie powodzenia lub niepowodzenia przy rejestracji i wyrejestrowaniu bezczynnych zasobów
  • Obsługa wersji Lollipop: aby uwzględnić zmiany związane z wersją, umieść message.recycle() za interfejsem
  • Zmieniono docelowy poziom pakietu SDK na 21 – dotyczy głównie aplikacji testowej

Wersja 1.1 (opublikowana: 08.01.2014)

Espresso

  • Nowe: swipeLeft i swipeRight ViewActions
  • Obsługa wielu okien: zaawansowana funkcja umożliwiająca wybór okna docelowego, w którym Espresso ma uruchomić operację.
  • Ulepszenia w TypeTextAction: umożliwia wpisywanie tekstu we wstępnie skoncentrowanym widoku, co ułatwia dodawanie tekstu
  • Poprawki wielu błędów

Biblioteka elementów espresso

  • Ta nowa biblioteka zawiera funkcje, które uzupełniają espresso, ale nie są częścią głównej biblioteki
  • Nowa biblioteka DrawerActions do działania w systemie DrawerLayout: bazuje na bibliotece pomocy Androida, dlatego znajduje się poza główną biblioteką Espresso

Przykładowe testy

  • Te testy zostały przeniesione do tego samego pakietu co aplikacja testowa.
  • Naprawiono POM z Maven, usuwając duplikaty gujawy, więc mvn install powinno teraz działać