Wpis z mikrobloga

Mam pytanie do tych którzy programują bądź testują aplikacje androidowe lub po prostu wiedzą ;)

Potrzebuje sposobu na automatyczne sterowanie aplikacją. Najlepiej w jakimś lekkim emulatorze, choć fajnie jakby działało to też na prawdziwym urządzeniu.

Aktualnie mam taki pomysł by uruchomić emulator, robić screany, analizować je opencv a później klikać w odpowiednie miejsca za pomocą selenium. Ale szukam lepszego rozwiązania.

#android #androiddev #testowanieoprogramowania #programowanie
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@K-S-: aktualne zdjęcie ekranu możesz sam robić przez adb. Dodatkowo w nim można też pewnie wymusic "clicki".
Jeżeli chodzi o testowanie to możesz np. skorzystać z appium ( gdy layouty są w xml i są id) w compose trzeba by było trochę inaczej podejść.
  • Odpowiedz
@K-S-: moim zdaniem to z Selenium i emulatorem jedno z lepszych rozwiązań. Możesz oczywiście napisać sobie apkę która będzie takie eventy emulować, ale to będzie miało wpływ na samo urządzenie, a chciałbyś zapewne tego uniknąć.

Jeśli miałoby to pracować na prawdziwym sprzęcie, bez podłączenia przez adb+debug to bez porządnego robota się może nie obejść. Apka musiałaby mieć prawa roota by móc emulować eventy w kernelowym input systemie.
  • Odpowiedz
@acpiorundc: To appium oszczędziło by mi pracy z opencv. Ale z tego co rozumiem nie użyje tego z już gotową aplikacją?

@ulsterboy: To się przyda.

@Oo-oO: Root nie wchodzi w grę, bo dana apka się wywala.

Przy okazji jaki emulator polecacie? Używam nox, ale wolałbym coś lżejszego, z obsługą adb i najlepiej by mogło działać na serwerze.
  • Odpowiedz
@K-S-: czemu nie? Normalnie appium użyjesz, wskazesz tylko elementy które ma klikać i sprawdzać, jak nie po ID to po xpath czy czymkolwiek. A jeśli chodzi o chmurę to saucelab jest spoko, no ale to za darmo nie jest
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@K-S-: przecież espresso działa tak ze odpala apkę w emulatorze albo na urządzeniu a potem możesz kliknąć w co tylko chcesz
  • Odpowiedz