10

Używamy espresso dla androida automatyzacji, i że zawiera uaktualnienia testowaniaJak automatyzować testy aktualizacji dla Androida

Do testowania aktualizacji, musimy wykonać 3 kroki:

  1. dokonać pewnych działań w stara wersja do przygotowania niektórych danych
  2. Aktualizacja do nowej wersji (instalacja na okładkę)
  3. Sprawdź, czy dane zapisane w starej wersji są poprawnie zachowane i po uaktualnieniu nie ma innych problemów.

Obecnie robimy to w bardzo niezdarny sposób:

#Before: prepare data on old version 
adb -s $DEVICE shell am instrument -e class com.example.test.upgrade.UpgradeTest#prepareDataIn${version} -w com.example.test/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner; 

#install new version 
adb -s $DEVICE install -r new_version.apk; 

#After: test after upgrading 
adb -s $DEVICE shell am instrument -e class com.example.test.upgrade.UpgradeTest#testUpgradeFrom${version} -w com.example.test/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner; 

Łamiemy próbę uaktualnienia z wersji w pewnym przed/po 2 części, bo nie wiemy, czy jesteśmy w stanie (i jak) zainstalować nową wersję w teście.

Ale ten 3-stopniowy test przez polecenie adb wydaje się po prostu głupi, a my nie możemy łatwo uzyskać raportu z okazji.

Czy ktoś wie lepszy łatwy sposób przeprowadzania testów uaktualnień Androida, czy może wskazać, co robimy źle?

Nie ograniczasz się do Espresso, jeśli pracujesz z innymi frameworkami, w jaki sposób przeprowadzasz test aktualizacji?

Z góry dziękuję.

+0

Czy w ciągu ostatnich 2 lat stało się mniej niezgrabne? – TWiStErRob

Odpowiedz

0

można odinstalować istniejący pakiet z urządzenia, jeśli jesteś pewien, że masz najnowszą jednego:

adb uninstall <your-package-name> 

następnie można po prostu zainstalować i uruchomić testy z najnowsza apk zainstalować.

Innym sposobem jest użycie Gradle, które zawsze sprawdza, czy jest jakakolwiek zmiana kodu od czasu poprzedniej kompilacji, a następnie odinstaluje i zainstaluje najnowszą, czy nie używasz gradle do budowania i uruchamiania testów?

Powiązane problemy