← Înapoi în atelier
În culise

Android Store Screenshot Kit

Capturi reale din aplicații Android reale, făcute la fel de fiecare dată și gata pentru Google Play.

Trei ecrane de telefon, cel din mijloc încadrat și bifat

Despre proiect

Capturile pentru magazin se învechesc de fiecare dată când aplicația se schimbă, iar a le face de mână pe telefon e lent și niciodată la fel de două ori. Acest kit le transformă într-un pas repetabil: fiecare aplicație păstrează un mic test care își pregătește propriile date și îi parcurge ecranele, iar kitul se ocupă de rest.

Construiește aplicația și testul ei, le rulează pe un dispozitiv Firebase Test Lab ales, urmărește rularea până la capăt, descarcă capturile și le verifică după cerințele Google Play înainte de a le copia în folderul de magazin al aplicației.

Cum funcționează

  1. Descrie rularea. Un fișier TOML scurt numește aplicația, testul ei, dispozitivele folosite și numărul și dimensiunea capturilor așteptate.
  2. Scrie partea aplicației. Pornește de la testul-șablon, încarcă date de exemplu fixe și enumeră ecranele de capturat. Funcțiile comune așteaptă ecranele, ating, închid dialogurile de sistem și blochează orientarea.
  3. Rulează un singur dispozitiv. O singură comandă construiește ambele APK-uri, le trimite la Firebase Test Lab și urmărește testul până se termină.
  4. Adună și verifică. Capturile sunt descărcate, verificate ca număr, dimensiune și format de culoare și salvate împreună cu o evidență a rulării.

Făcut cu kitul

Acestea sunt capturile pentru tabletă din Google Play ale aplicației Pocket Omaha, făcute de kit pe o tabletă Pixel reală în Firebase Test Lab. Testul încarcă date înregistrate pentru Apple, JPMorgan și Nokia, așa că nu s-au preluat date de piață și fiecare rulare arată aceleași cifre.

Prima rulare a scos la iveală și un avertisment de compatibilitate Android privind alinierea uneia dintre bibliotecile native ale aplicației. După actualizarea bibliotecii, o a doua rulare a trecut fără el.

Funcționalități

  • Același rezultat la fiecare rulare: Fiecare aplicație își încarcă propriile date de exemplu înregistrate în loc să apeleze servicii live, așa că de la o rulare la alta capturile nu se schimbă.
  • Verificate înainte de folosire: Fiecare PNG este verificat pentru numărul așteptat, dimensiuni și formatul RGB fără transparență cerut de Google Play.
  • O evidență pentru fiecare rulare: Fiecare rulare primește propriul folder, cu PNG-urile neatinse și un fișier run.json care conține amprentele fișierelor, dispozitivul, linkul din Firebase Console și configurația exactă.
  • Pregătit pentru dispozitivele cu 16 KB: O verificare separată controlează alinierea APK-ului și a fiecărei biblioteci native din el, pentru dispozitivele Android cu pagini de memorie de 16 KB.
  • Fără facturi surpriză: Dispozitivul trebuie numit mereu explicit, așa că o rulare nu se extinde niciodată pe toate dispozitivele fizice configurate, posibil plătite.
  • Secretele rămân în afară: ID-urile de proiect vin din variabile de mediu, iar autentificarea din Google Cloud CLI; configurația nu conține nicio credențială.
  • Ușor de adoptat: Funcțiile comune depind doar de AndroidX Test și UI Automator, așa că se potrivesc aplicațiilor cu sau fără Jetpack Compose.

Cum este construit

Instrumentul din linia de comandă este un singur script Python care nu are nevoie de nimic în afară de Python 3.11. Funcțiile comune sunt o mică bibliotecă Android scrisă în Java, așa că nu impun nicio versiune de Kotlin aplicațiilor care le folosesc și funcționează atât cu AGP 8, cât și cu AGP 9. În CI, dispozitivele virtuale pot rula la fiecare pull request, iar cele fizice pot fi păstrate pentru versiunile candidate. Kitul este open source, sub licența GPL-3.0.