DeviceFarm Control – „Android“ ir „iOS“ įrenginių valdymo platforma
Šiuo metu kuriama. Saugi interneto platforma mobiliųjų įrenginių parkui stebėti, „Android“ valdyti nuotoliniu būdu, automatizuoti darbus ir audituoti komandas.
„DeviceFarm Control“ sukurta sprendžiant praktinę užduotį – sujungti „Android“ įrenginių ir „iPhone“ valdymą vienoje apsaugotoje naršyklės aplinkoje. Operatoriui nebereikia persijunginėti tarp kelių darbalaukio programų: įrenginių būsena, ekranai, komandos, paskyros ir ataskaitos pasiekiami vienoje vietoje.
Užduotis
Mobiliųjų įrenginių parką sunku prižiūrėti, kai kiekvienas telefonas valdomas atskirai. Reikėjo sistemos, kuri rodytų pasiekiamumą, leistų dirbti su keliais įrenginiais, saugotų patikimą veiksmų istoriją ir kartu atskirtų naršyklę nuo ADB, vaizdo perdavimo procesų bei fizinės įrangos.
Kas įgyvendinta
- bendra „Android“ ir „iOS“ įrenginių suvestinė su būsenomis, grupėmis ir greita atranka;
- tiesioginis H.264 „Android“ ekrano perdavimas ir mažiau duomenų naudojantis fiksuoto kadro režimas;
- valdymas naršyklėje: bakstelėjimai, braukimai, teksto įvedimas, Home, Back, programėlės, garsumas ir maitinimas;
- programėlių ir failų operacijos, ADB Shell, pakartotinai naudojami automatizavimo scenarijai ir paleidimas pagal grafiką;
- platformų paskyrų, reklamos paskyrų ir tarpinių serverių profilių apskaita;
- įrenginių, komandų, automatizavimo ir operatorių veiksmų ataskaitos.
Architektūra ir saugumas
Valdymo dalis veikia su PHP ir MySQL, o ekranų perdavimas realiuoju laiku bei ryšys su įrenginiais atskirti į „Node.js“ servisą. „Android“ prijungimui naudojami ADB ir „scrcpy“. Kiekviena komanda patenka į eilę, patikrinama pagal naudotojo teises ir įrašoma audito žurnale. Administravimo dalyje veikia rolėmis pagrįsta prieiga, CSRF apsauga, dviejų veiksnių autentifikavimas ir užklausų dažnio ribojimas.
Rezultatas
Sukurta veikianti platforma kasdieniam mobiliųjų įrenginių laboratorijos darbui. Komanda gali prijungti telefonus, stebėti jų pasiekiamumą, nuotoliniu būdu valdyti „Android“, automatizuoti pasikartojančias užduotis ir peržiūrėti vykdymo istoriją. „iOS“ įrenginiai įtraukti į bendrą inventoriaus ir ekrano peržiūros procesą, išlaikant atskirą, platformos ribas atitinkantį integracijos kelią.