Der Anteil des mobilen Verkehrs nimmt von Jahr zu Jahr zu. Ein moderner Mensch ist mobil und es fĂ€llt ihm leichter, Informationen vom Bildschirm seines eigenen Smartphones abzurufen. Daher ist die Entwicklung mobiler Anwendungen im Trend. Beim Entwickeln und Testen ist es wichtig, Zugriff auf eine Vielzahl von GerĂ€ten zu haben, damit die Anwendung auf allen Arten von Smartphone-Modellen ordnungsgemÀà ausgefĂŒhrt werden kann. BerĂŒcksichtigen Sie verschiedene Optionen fĂŒr den Zugriff auf GerĂ€te.
Ein Weg sind
mobile Cloud-Farmen :
SAMSUNG Developres: Remote Test LabFirebase-TestlaborBrowserstackAWS-GerĂ€tefarmApp CenterSaucenlaboreEinige von ihnen sind kostenlos - mit einer begrenzten Anzahl von GerĂ€ten, andere - kostenpflichtig mit einer groĂen Flotte von GerĂ€ten. Ăber sie können Sie Fernzugriff auf reale GerĂ€te erhalten und Fehler verfolgen, die auf GerĂ€ten auftreten, aber nicht auf Emulatoren reproduziert werden.
Eine andere Möglichkeit besteht darin, eine eigene Android-Smartphone-Farm zu erstellen, mit der Mitarbeiter aus verschiedenen StĂ€dten und LĂ€ndern eine Verbindung zu BĂŒrogerĂ€ten herstellen können. Mal sehen, wie Sie
ĂŒber das Open STF- Projekt Ihre eigene Android-GerĂ€tefarm erstellen können .Installation unter Ubuntu 18.04:
Update apt-get:
sudo apt-get update
Installieren Sie AbhĂ€ngigkeiten fĂŒr OpenSTF (Node.js, NPM, GraphicsMagick, ZeroMQ, Protokollpuffer, yasm, pkg-config, adb).
sudo apt-get install nodejs npm graphicsmagick libzmq3-dev protobuf-compiler libprotobuf-dev yasm pkg-config android-tools-adb
Laden Sie das Deb-Paket RethinkDB herunter (das Paket ist fĂŒr Ubuntu 18.04 nicht ĂŒber apt verfĂŒgbar):
wget https://github.com/srh/rethinkdb/releases/download/v2.3.6.srh.1/rethinkdb_2.3.6.srh.1.0bionic_amd64.deb sudo dpkg -i rethinkdb_2.3.6.srh.1.0bionic_amd64.deb
Installieren Sie OpenSTF:
npm install -g stf
Wenn wÀhrend der Installation Fehler auftreten, dass npm nicht auf / usr / local / lib oder / usr / local / bin zugreifen kann, geben Sie Zugriff darauf:
sudo chown -R $USER /usr/local/lib sudo chown -R $USER /usr/local/bin
Und neu starten
npm install -g stf
Installation unter MacOS X:
Installieren Sie Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Laden Sie alle AbhÀngigkeiten herunter und installieren Sie sie:
brew install node rethinkdb graphicsmagick zeromq protobuf yasm pkg-config homebrew/cask/android-platform-tools
Wenn bei der Installation von protobuf der folgende Fehler auftritt:
Error: An unexpected error occurred during the `brew link` step The formula built, but is not symlinked into /usr/local Permission denied @ dir_s_mkdir - /usr/local/Frameworks Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Dann mĂŒssen Sie den Ordner / usr / local / Frameworks erstellen und ihm Schreibberechtigungen erteilen:
sudo mkdir /usr/local/Frameworks sudo chown $USER /usr/local/Frameworks
Installieren Sie OpenSTF:
npm install -g stf
Windows-Installation:
Möglich durch Cygwin, aber nicht offiziell von Entwicklern unterstĂŒtzt.
Starten
Damit OpenSTF funktioniert, mĂŒssen Sie zuerst RethinkDB ausfĂŒhren.
rethinkdb
FĂŒhren Sie als nĂ€chstes openstf selbst aus
stf local --public-ip <ip- >
AnschlieĂen von GerĂ€ten:
StandardmĂ€Ăig erkennt OpenSTF das GerĂ€t unabhĂ€ngig und verbindet es ohne Neustart, wenn mobile GerĂ€te an das GerĂ€t angeschlossen werden.
Aber in Ubuntu kann es Probleme geben:
Wenn das mobile GerÀt in openstf nicht sichtbar ist und die folgende Meldung in den openstf-Protokollen angezeigt wird:
Unhandled rejection Error: Illegal value for Message.Field .DeviceIntroductionMessage.status of type enum: undefined (not a valid enum value)
und der Befehl adb GerÀte erzeugt die folgende Ausgabe:
List of devices attached ??????? no permissions (verify udev rules); see [http://developer.android.com/tools/device.html]
Sie mĂŒssen das GerĂ€t manuell hinzufĂŒgen:
FĂŒhren Sie dazu aus
lsusb
und finden Sie ein GerÀt, das nicht bestimmen konnte.
Zum Beispiel
Bus 001 Device 010: ID 2e04:c026 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Die USB-GerÀte-ID besteht aus zwei Teilen - der Hersteller-ID (der erste Teil der ID ist bis zu ':', 2e04, wie im obigen Beispiel) und der GerÀtemodell-ID (c026).
FĂŒhren Sie als NĂ€chstes die Befehle aus, bei denen die Parameter ATTR {idVendor} und ATTR {idProduct} gemÀà der ID des falsch gefundenen GerĂ€ts eingegeben werden:
echo 'ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="2e04", ATTR{idProduct}=="c026", MODE="0666"' | sudo tee /etc/udev/rules.d/99-android.rules sudo udevadm control --reload-rules sudo udevadm trigger --verbose --action=add --subsystem-match=usb
Es ist zu beachten, dass empfohlen wird, GerĂ€te ĂŒber einen separaten USB-Hub mit separatem Netzteil (z. B.
diesen ) anzuschlieĂen.
Eines der Merkmale der Farm ist, dass aufgrund des konstanten Ladevorgangs die Akkulaufzeit mobiler GerĂ€te auf 2-3 Jahre begrenzt ist. Wenn der Akku auf dem GerĂ€t austauschbar ist, ist es sinnvoll, ihn im Voraus zu kaufen. Auf GerĂ€ten können Sie den Modus ausschalten, in dem der Bildschirm des GerĂ€ts wĂ€hrend des Ladevorgangs stĂ€ndig eingeschaltet ist (lassen Sie einfach die Einstellung, um den Bildschirm nach 30 Sekunden InaktivitĂ€t automatisch auszuschalten), weil OpenSTF kann den Bildschirm bei Bedarf unabhĂ€ngig einschalten - dies verlĂ€ngert die Lebensdauer des GerĂ€ts. Es ist wichtig zu sagen, dass OpenSTF nur von auĂerhalb des Unternehmensnetzwerks zugĂ€nglich sein sollte, auĂer ĂŒber ein VPN, da es keine normale Autorisierung dafĂŒr gibt.
Screenshots des laufenden Programms
Starten Sie OpenSTF:

Starten der Google Play App in OpenSTF

Liste der angeschlossenen GerÀte in OpenSTF

GerÀteinformationen in OpenSTF konfigurieren

Die eigene Farm von Android-GerĂ€ten hilft daher dabei, den Zugriff auf BĂŒrogerĂ€te fĂŒr Remote-Mitarbeiter zu konfigurieren und so die QualitĂ€t der entwickelten Anwendungen zu verbessern. Es hat seine Vor- und Nachteile, die eine Ăberlegung wert sind.