Archiwa tagu: testy

Minimalne wymagania ustawień Appium

Dzisiejszy wpis dotyczy konfiguracji Appium do testów aplikacji natywnych.

Aby Appium mogło zostać uruchomione, należy ustawić kilka podstawowych ustawień (capabilities). Można je zapisać w pliku (np. appium.txt) i odczytywać podczas uruchomienia testów lub przekazywać podczas uruchamiania serwera Appium.

Minimalne wymagane ustawienia w części [caps], to:

  1. dla systemu iOS:
    1. podpięty iPhone, aplikacja *.ipa:
      udid = "1234567890abcdefghijklmnopqrstuvwxyz0123" – wartość obowiązkowa, po której Appium rozpoznaje, czy powinno działać na prawdziwym urządzeniu, czy na symulatorze.
      app = "~/builds/ApplicationName.ipa" – wartość obowiązkowa.
    2. podpięty iPhone, aplikacja już zainstalowana na urządzeniu:
      deviceName = "iPhone-name"
      udid = "1234567890abcdefghijklmnopqrstuvwxyz0123"
      bundleId = "com.company.package"
    3. symulator – bez znaczenia, czy aplikacja jest już zainstalowana, czy Appium musi ja dopiero zainstalować – konieczne jest podanie parametru app, samo bundleId nie jest wystarczające.
      deviceName = "iPhone 5 iOS 8.1" – wartość obowiązkowa. Musi być wpisana dokładna nazwa symulatora, bez udid.
      app = "/Users/d9k/Library/Developer/Xcode/DerivedData/ApplicationName-qwertyuiopasdfghjklzxcvbnmqw/Build/Products/Debug-iphonesimulator/ApplicationName.app" – wartość obowiązkowa
      udid – w zasadzie nie można go używać, gdyż parametr ten sugeruje serwerowi Appium, że ma do czynienia z podłączonym urządzeniem.
  2. dla systemu Android:
    1. podpięty telefon z Androidem lub emulator, bez zainstalowanej aplikacji:
      platformName = "Android"
      deviceName ="dev" – wartość obowiązkowa, pomimo że podczas testowania aplikacji Android jest ignorowana (można wpisać cokolwiek).
      app = "someApp.apk" – wartość obowiązkowa.
    2. podpięty telefon z Androidem lub emulator, z zainstalowaną aplikacją:
      platformName = "Android"
      appPackage = "com.company.package"
      appActivity = ".SomeActivity"
      deviceName = "dev" – j.w.

Testy Windows Phone

Automatyczne testowanie Windows Phone wydaje się być na ten moment dość problematyczne. Appium, które pomimo rożnych niedociągnięć, jest jednak całkiem niezłym narzędziem do automatyzacji testów aplikacji mobilnych, nie oferuje aktualnie wsparcia dla Windows Phone (obecnie dostępna jest obsługa Android i iOS).

Garść linków na temat narzędzi do testów Windows Phone:

Notatki z Appium

  1. Jeśli na emulatorze Androida wyłączy się GPS, to pomimo ustawienia pozycji (poprzez telnet), nie zostaje ona ustawiona (co jest oczywiście logiczne 🙂 ).
  2. Appium lubi zgłaszać wiele false-negative. W tym celu stosuje się np. narzędzie rake, gdzie konfiguruje się, aby powtórzył testy, które sfailowały. Jeżeli test nie przejdzie kilka razy pod rząd, oznacza to ze faktycznie coś jest na rzeczy – a nuż test wykrył błąd?
  3. Problem zdarzającego się w Appium co jakiś czas wyjątku Unknown error clearing text został rozwiązany w Appium 1.4.6. Żeby je zainstalować:
    npm install appium@1.4.6
    Komendę tę należy uruchomić w folderze, gdzie jest zainstalowane Appium App („Windows GUI”). Ja akurat uruchomiłam w innym miejscu, komenda wygenerowała mi folder node_modules, który podmieniłam za analogiczny folder w C:\Programy\Appium_146. Samo Appium uruchamiam plikiem *.bat:
    cd c:\Programy\Appium_146\node_modules\appium\bin
    start node appium & --device_name Nexus
  4. Przydatne flagi do ustawienia w Appium.txt:
    1. sendKeyStrategy = "setValue"
      Tekst jest wtedy „wklejany” do pola. Testy działają szybciej, bo tekst nie jest wpisywany litera po literze. Dodatkowa korzyść: nie działa podpowiadanie tekstu (Autocomplete), a wiec np. adresy URL nie są podmieniane na znane wartości ze słownika.
    2. autoAcceptAlerts = true
      Automatycznie akceptuje komunikaty, np. o pozwoleniu na użycie GPS albo aparatu.
      Jest również opcja odwrotna: autoDismissAlerts, czyli automatyczne wybieranie opcji negatywnej.

Prasówka #1 – Jak wygląda praca w zespole Silverlighta?

Dziś krótko bo tylko link do filmu z lubianego przeze mnie serwisu Virtual Study:

http://virtualstudy.pl/component/content/article/274.html

Tytuł to:

Jak Microsoft testuje Silverlight’a? – 53 spotkanie KDG.NET – Sesja 2

Gość (pracujący w Microsofcie) opowiada, jak wygląda u nich praca przy kolejnych wersjach Silverlight a także o testach, jakie wykonują. Warto przesłuchać, choćby wieczorem po pracy:)