Membuat tambak perangkat Android menggunakan Open STF

Pangsa lalu lintas seluler meningkat setiap tahun. Orang modern adalah ponsel dan lebih mudah baginya untuk mendapatkan informasi dari layar ponsel cerdasnya sendiri. Oleh karena itu, pengembangan aplikasi seluler menjadi tren. Saat mengembangkan dan menguji, penting untuk memiliki akses ke berbagai perangkat, sehingga aplikasi berjalan dengan benar pada semua jenis model ponsel cerdas. Pertimbangkan berbagai opsi untuk mengakses perangkat.

Salah satu caranya adalah peternakan cloud seluler :

SAMSUNG Developres: Remote Test Lab
Laboratorium uji Firebase
Browserstack
Farm Perangkat AWS
Pusat aplikasi
Laboratorium saus

Beberapa di antaranya gratis - dengan jumlah perangkat terbatas, lainnya - berbayar, dengan armada perangkat besar. Melalui mereka, Anda dapat memperoleh akses jarak jauh ke perangkat nyata dan melacak bug yang terjadi pada perangkat tetapi tidak dapat diputar pada emulator.

Cara lain adalah dengan membuat ladang ponsel cerdas Android Anda sendiri, berkat karyawan yang dari berbagai kota dan negara dapat terhubung ke perangkat kantor. Mari kita lihat bagaimana Anda dapat membuat perangkat Android Anda menjadi bertani melalui proyek Open STF .

Instalasi pada Ubuntu 18.04:


Perbarui apt-get:

sudo apt-get update 

Instal dependensi untuk OpenSTF (Node.js, NPM, GraphicsMagick, ZeroMQ, Protokol Buffer, yasm, pkg-config, adb).

 sudo apt-get install nodejs npm graphicsmagick libzmq3-dev protobuf-compiler libprotobuf-dev yasm pkg-config android-tools-adb 

Unduh paket deb RethinkDB (paket ini tidak tersedia untuk Ubuntu 18.04 melalui apt):

 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 

Instal OpenSTF:

 npm install -g stf 

Jika selama kesalahan instalasi muncul bahwa npm tidak dapat mengakses / usr / local / lib atau / usr / local / bin, maka berikan akses kepada mereka:

 sudo chown -R $USER /usr/local/lib sudo chown -R $USER /usr/local/bin 

Dan restart

 npm install -g stf 

Instalasi pada MacOS X:


Pasang homebrew:

 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

Unduh dan instal semua dependensi:

 brew install node rethinkdb graphicsmagick zeromq protobuf yasm pkg-config homebrew/cask/android-platform-tools 

Jika kesalahan berikut terjadi saat menginstal protobuf:

 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 

Maka Anda perlu membuat folder / usr / local / Frameworks dan memberikan izin menulis untuknya:

 sudo mkdir /usr/local/Frameworks sudo chown $USER /usr/local/Frameworks 

Instal OpenSTF:

 npm install -g stf 

Instalasi Windows:


Mungkin melalui Cygwin, tetapi tidak secara resmi didukung oleh pengembang.

Luncurkan


Agar OpenSTF berfungsi, Anda harus menjalankan RethinkDB terlebih dahulu.

 rethinkdb 

Selanjutnya jalankan openstf itu sendiri

 stf local --public-ip <ip- > 

Menghubungkan perangkat:


Secara default, OpenSTF secara independen mendeteksi dan menghubungkan perangkat tanpa me-reboot ketika menghubungkan perangkat seluler ke mesin.

Namun di Ubuntu mungkin ada masalah:

Jika perangkat seluler tidak terlihat di openstf dan pesan berikut ini ditampilkan ke log openstf:

 Unhandled rejection Error: Illegal value for Message.Field .DeviceIntroductionMessage.status of type enum: undefined (not a valid enum value) 

dan perintah adb devices menghasilkan output berikut:

 List of devices attached ??????? no permissions (verify udev rules); see [http://developer.android.com/tools/device.html] 

Anda harus menambahkan perangkat secara manual:

Untuk melakukan ini, jalankan

 lsusb 

dan menemukan perangkat yang tidak dapat menentukan.
Sebagai contoh

 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 

ID perangkat USB terdiri dari dua bagian - ID pabrikan (bagian pertama dari ID adalah hingga ':', 2e04, seperti pada contoh di atas) dan ID model perangkat (c026).

Selanjutnya, jalankan perintah di mana parameter ATTR {idVendor} dan ATTR {idProduct} diisi sesuai dengan ID perangkat yang ditemukan salah:

 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 

Perlu dipertimbangkan bahwa disarankan untuk menghubungkan perangkat melalui hub USB terpisah dengan catu daya terpisah (misalnya, yang ini ).

Salah satu fitur tambak adalah karena pengisian daya yang konstan, masa pakai baterai perangkat seluler akan terbatas hingga 2-3 tahun, jadi jika baterai dapat dilepas pada perangkat, masuk akal untuk membelinya terlebih dahulu. Pada perangkat, Anda dapat mematikan mode di mana layar perangkat terus menyala saat mengisi daya (biarkan pengaturan untuk mematikan layar secara otomatis setelah 30 detik tidak aktif), karena OpenSTF dapat secara independen menyalakan layar saat dibutuhkan - ini akan meningkatkan usia perangkat. Penting untuk mengatakan bahwa OpenSTF tidak boleh diakses dari luar jaringan perusahaan, kecuali melalui VPN, karena tidak ada otorisasi normal untuk itu.

Screenshot dari program yang sedang berjalan


Luncurkan OpenSTF:



Meluncurkan aplikasi Google Play di OpenSTF



Daftar perangkat yang terhubung di OpenSTF



Mengkonfigurasi informasi perangkat di OpenSTF



Dengan demikian, lahannya sendiri perangkat Android membantu mengkonfigurasi akses ke perangkat kantor untuk karyawan jarak jauh, sehingga meningkatkan kualitas aplikasi yang dikembangkan. Ini memiliki pro dan kontra, yang patut dipertimbangkan.

Source: https://habr.com/ru/post/id447236/


All Articles