Pengujian seluler lintas perangkat yang disinkronkan

Addy Osmani
Addy Osmani

Pengantar

Jika Anda adalah developer web yang menargetkan web multiperangkat, Anda mungkin harus menguji situs dan aplikasi web di sejumlah perangkat dan konfigurasi yang berbeda. Pengujian yang disinkronkan dapat membantu hal tersebut dan merupakan cara yang efektif untuk otomatis melakukan interaksi yang sama di sejumlah perangkat dan browser secara bersamaan.

Pengujian yang disinkronkan dapat membantu memecahkan dua masalah yang sangat memakan waktu:

  • Menjaga semua perangkat Anda tetap sinkron dengan URL yang ingin Anda uji. Memuatnya secara manual di setiap perangkat terasa seperti kemarin, membutuhkan waktu lebih lama, dan memudahkan kehilangan regresi.
  • Menyinkronkan interaksi. Dapat memuat halaman sangat cocok untuk pengujian visual, tetapi untuk pengujian interaksi, sebaiknya Anda juga dapat menyinkronkan scroll, klik, dan perilaku lainnya.

Untungnya, jika Anda memiliki akses ke beberapa perangkat target Anda, ada sejumlah alat yang ditujukan untuk memperlancar alur dari desktop ke perangkat seluler Anda. Dalam artikel ini, kita akan membahas Ghostlab, Remote Preview, Adobe Edge Inspect dan Grunt.

Ini meja saya. Nah, dulu itu adalah mejaku. Sekarang, hanyalah museum seluler.
Ini adalah meja saya. Nah, dulu itu adalah mejaku. Sekarang, hanyalah museum seluler.

Alat

GhostLab (Mac)

GhostLab untuk Mac oleh Vanamco
GhostLab for Mac dari Vanamco

Ghostlab adalah aplikasi Mac komersial ($49) yang dirancang untuk menyinkronkan pengujian situs dan aplikasi web di beberapa perangkat. Dengan penyiapan minimum, Anda dapat menyinkronkan secara bersamaan:

  • Klik
  • Navigasi
  • Scroll
  • Input formulir (misalnya, formulir login, pendaftaran)

Dengan begitu, pengujian pengalaman pengguna situs Anda secara menyeluruh di beberapa perangkat akan menjadi sangat mudah. Setelah Anda membuka halaman di browser pada perangkat, setiap perubahan pada navigasi (termasuk pemuatan ulang) akan menyebabkan perangkat lain yang terhubung dimuat ulang secara instan. Ghostlab mendukung pengamatan direktori lokal sehingga pembaruan ini juga terjadi saat Anda menyimpan hasil edit ke file lokal sehingga semuanya selalu sinkron.

Menurut saya, menyiapkan Ghostlab itu proses yang mudah. Untuk memulai, download, instal, dan jalankan uji coba (atau versi lengkapnya jika Anda sedang ingin membeli). Selanjutnya, Anda perlu menghubungkan Mac dan perangkat yang ingin diuji ke jaringan Wifi yang sama agar dapat ditemukan.

Setelah Ghostlab berjalan, Anda dapat mengklik "+" untuk menambahkan URL untuk pengujian atau cukup menariknya dari kolom URL browser. Atau, tarik folder lokal yang ingin Anda uji ke jendela utama, lalu entri situs baru akan dibuat. Untuk artikel ini, saya menguji versi aktif http://html5rock.com. Aneh, ya? ; )

Pilih URL atau direktori lokal pada komputer Anda
Memilih URL atau direktori lokal di komputer Anda

Kemudian, Anda dapat memulai server Ghostlab baru dengan mengklik tombol putar ">" di samping nama situs Anda. Tindakan ini akan memulai server baru, yang tersedia di alamat IP khusus untuk jaringan Anda (misalnya http://192.168.21.43:8080).

Server Ghostlab melakukan proxy konten secara lokal dari URL kami
Server Ghostlab melakukan proxy konten secara lokal dari URL kami

Di sini, saya telah menyambungkan Nexus 4 dan mengarahkan Chrome untuk Android ke alamat IP yang diberikan Ghostlab. Hanya itu yang harus saya lakukan. Ghostlab tidak mengharuskan Anda menginstal klien khusus per perangkat seperti beberapa solusi lainnya, dan itu berarti Anda dapat memulai pengujian dengan lebih cepat.

Perangkat apa pun yang Anda hubungkan ke URL Ghostlab akan ditambahkan ke daftar klien yang terhubung di sidebar di sebelah kanan jendela utama Ghostlab. Mengklik dua kali nama perangkat akan menampilkan detail tambahan seperti ukuran layar, OS, dan sebagainya. Sekarang Anda dapat menguji navigasi dan sinkronisasi klik. Asyik.

Ghostlab juga dapat menampilkan beberapa statistik tentang perangkat terhubung seperti string UA, lebar dan tinggi area pandang, kepadatan piksel perangkat, rasio aspek, dan lainnya. Anda dapat mengubah URL dasar yang diperiksa secara manual dengan mengklik roda gigi setelan di samping entri. Tindakan ini akan membuka jendela konfigurasi yang terlihat seperti di bawah ini:

Konfigurasi file untuk ditonton, header HTTP, himpunan karakter, dan lainnya.
Konfigurasi file untuk ditonton, header HTTP, himpunan karakter, dan lainnya.

Sekarang saya dapat memilih salah satu perangkat saya yang terhubung, mengklik link yang berbeda di sekitar HTML5Rocks, dan navigasi akan disinkronkan di Chrome desktop (di mana saya memasukkan URL Ghostlab yang sama) serta di semua perangkat.

Yang lebih baik lagi adalah Ghostlab memiliki opsi yang memungkinkan Anda mem-proxy semua link yang melewati jaringan sehingga alih-alih mengklik http://192.168.21.43:8080/www.html5rocks.com, navigasi ke www.html5Rock.com/en/performance (misalnya), yang akan merusak link http://192.168.21.43:8080/www.html5rocks.com menavigasi ke www.html5Rocks.com/en/performance (misalnya), yang akan merusak link 192.168.21.43:8080/www.html5Rock.comhttp://192.168.21.43/www.htm5rocks.com/en/performance

Untuk mengaktifkan, centang "Load all content through Ghostlab" di bawah tab "Content Loading".

Ghostlab dapat menulis ulang URL sehingga semua resource dimuat melalui proxy Ghostlab. Berguna untuk menyinkronkan navigasi ke beberapa halaman
Ghostlab dapat menulis ulang URL sehingga semua resource dimuat melalui proxy Ghostlab. Berguna untuk menyinkronkan navigasi ke beberapa halaman

Melihat cara kerjanya:

Pengujian tersinkronisasi ponsel Android, Windows 8, dan Firefox OS dengan Ghostlab
Pengujian yang disinkronkan pada ponsel OS Android, Windows 8, dan Firefox dengan Ghostlab

Ghostlab mampu memuat sejumlah situs atau jendela di seluruh browser yang didukung. Hal ini tidak hanya memungkinkan Anda menguji situs pada berbagai resolusi, tetapi juga melihat perilaku kode di berbagai browser dan platform. Hore!

Menyinkronkan scroll, klik, dan navigasi di semua perangkat pengujian
Menyinkronkan scroll, klik, dan navigasi di semua perangkat pengujian

Dengan Ghostlab, Anda dapat mengonfigurasi penyiapan untuk ruang kerja project yang sedang dipratinjau dan menentukan apakah Anda ingin perubahan pada direktori dipantau dan dimuat ulang saat terdeteksi. Ini berarti perubahan menyebabkan semua klien yang terhubung diperbarui. Tidak ada lagi pembaruan manual.

Anda mungkin ingin tahu apa lagi yang dapat Ghostlab bantu. Meskipun bukan pisau tentara swiss, pisau ini juga mendukung pemeriksaan kode jarak jauh pada perangkat yang terhubung. Melalui antarmuka utama, mengklik dua kali nama perangkat akan memunculkan opsi "debug" yang akan meluncurkan versi Chrome DevTools untuk Anda bermain-main.

Ghostlab memungkinkan hal ini melalui paket pemeriksa web jarak jauh Weinre, yang memungkinkan Anda men-debug skrip dan mengubah gaya di perangkat yang terhubung. Serupa dengan pengalaman proses debug jarak jauh yang tersedia untuk Chrome untuk Android, Anda dapat memilih elemen, menjalankan beberapa skrip pembuatan profil performa, dan debug.

Secara keseluruhan, saya terkesan dengan betapa cepatnya saya dapat menggunakan Ghostlab untuk pengujian sehari-hari di berbagai perangkat. Jika Anda seorang {i>freelancer<i}, Anda mungkin akan melihat biaya lisensi komersial yang agak tinggi (lihat di bawah untuk opsi lainnya). Namun, saya akan dengan senang hati merekomendasikan Ghostlab.

Adobe Edge Inspect CC (Mac, Windows)

Langganan Creative Cloud Adobe mencakup Edge Inspect
Langganan Creative Cloud Adobe mencakup Edge Inspect

Adobe Edge Inspect adalah bagian dari paket langganan Adobe Creative Cloud, tetapi juga tersedia sebagai uji coba gratis. Dengan alat ini, Anda dapat mengemudi beberapa perangkat iOS dan Android dengan Chrome (melalui ekstensi Chrome Edge Inspector), sehingga jika Anda menjelajah ke URL tertentu, semua perangkat yang terhubung akan tetap sinkron.

Untuk melakukan persiapan, daftar ke akun Adobe Creative Cloud terlebih dahulu atau login ke akun yang sudah ada jika Anda sudah memilikinya. Selanjutnya, download dan instal Edge Inspect dari Adobe.com (saat ini tersedia untuk Mac dan Windows, tetapi tidak untuk Linux. Maaf!). Perlu diperhatikan bahwa docs untuk Edge Inspect berguna untuk disimpan.

Setelah diinstal, sebaiknya dapatkan ekstensi pemeriksaan Edge untuk Chrome agar Anda dapat menyinkronkan penjelajahan antarperangkat yang terhubung.

Ekstensi Chrome Edge Inspect CC
Ekstensi Chrome Edge Inspect CC

Anda juga harus menginstal klien Edge Inspect di setiap perangkat yang ingin Anda gunakan untuk menyinkronkan tindakan. Untungnya, klien tersedia untuk iOS, Android, dan Kindle.

Dengan proses penginstalan di belakang kami, kini kami dapat mulai memeriksa halaman kami. Anda harus memastikan semua perangkat terhubung ke jaringan yang sama agar fitur ini berfungsi.

Mulai Edge Inspect di desktop Anda, ekstensi Edge Inspect di Chrome, dan lalu aplikasi di perangkat Anda (lihat di bawah):

Menghubungkan perangkat ke ekstensi Edge Inspect
Menghubungkan perangkat ke ekstensi Edge Inspect

Sekarang kita dapat menavigasi ke situs seperti HTML5Rocks.com di desktop dan perangkat seluler kita akan secara otomatis menavigasi ke laman yang sama.

Mendorong navigasi URL di beberapa perangkat yang terhubung
Mendorong navigasi URL di beberapa perangkat terhubung

Pada ekstensi, sekarang Anda juga akan melihat perangkat tercantum dengan simbol <> di sampingnya seperti pada screenshot di bawah. Mengklik ini akan meluncurkan instance Weinre yang memungkinkan Anda untuk memeriksa dan men-debug halaman.

simbol di sebelahnya, yang dapat digunakan untuk meluncurkan debugger Weinre" width="800" height="549">
Perangkat yang terhubung muncul dengan simbol <> di sebelahnya, yang dapat digunakan untuk meluncurkan debugger Weinre

Weinre adalah penampil dan konsol DOM, dan tidak memiliki fitur dari Chrome DevTools seperti proses debug JavaScript, pembuatan profil, dan waterfall jaringan. Meskipun merupakan alat minimum bagi developer, ini berguna untuk memeriksa kesehatan status DOM dan JavaScript.

Proses debug dengan Weinre
Proses debug dengan Weinre

Ekstensi Edge Inspect juga mendukung pembuatan screenshot dari perangkat yang terhubung dengan mudah. Berguna untuk pengujian tata letak atau hanya mengambil screenshot halaman Anda untuk dibagikan kepada orang lain.

Pembuatan screenshot dengan Edge Inspect
Pembuatan screenshot dengan Edge Inspect

Bagi developer yang sudah membayar CC, Edge Inspect adalah solusi yang bagus. Namun, metode ini memiliki beberapa peringatan, seperti setiap perangkat memerlukan penginstalan klien khusus dan sedikit pekerjaan penyiapan tambahan yang mungkin tidak Anda temukan dengan alternatif seperti Ghostlab.

Pratinjau Jarak Jauh (Mac, Windows, Linux)

Pratinjau Jarak Jauh adalah alat open source tempat Anda menghosting halaman dan konten HTML yang dapat ditampilkan di beberapa perangkat.

Pratinjau jarak jauh mengeksekusi panggilan XHR pada interval setiap 1100 md untuk memeriksa apakah URL dalam file konfigurasi telah berubah. Jika menemukannya, skrip akan memperbarui atribut src dari iframe yang dimuat ke dalam halaman untuk setiap perangkat, yang memuat halaman tersebut ke dalamnya. Jika tidak ada perubahan yang terdeteksi, skrip akan melanjutkan polling hingga perubahan dilakukan.

Pengujian URL yang telah disinkronkan di lebih dari 27 perangkat
Pengujian URL yang disinkronkan di lebih dari 27 perangkat

Cara ini sangat bagus untuk merangkai perangkat dan mengubah URL dengan mudah di semua perangkat tersebut. Untuk memulai:

  1. Download Pratinjau Jarak Jauh dan pindahkan semua file untuk pratinjau tersebut ke server yang dapat diakses secara lokal. Bisa berupa {i>dropbox<i}, server pengembangan atau yang lainnya.
  2. Muat "index.html" dari download ini di semua perangkat target Anda. Halaman ini akan digunakan sebagai driver dan akan memuat halaman yang ingin Anda uji menggunakan iframe.
  3. Edit "url.txt" (disertakan dalam download dan kini ditayangkan di server Anda) dengan URL yang ingin Anda lihat pratinjaunya. Simpan file ini.
  4. Pratinjau Jarak Jauh akan melihat bahwa file url.txt telah berubah dan akan memperbarui semua perangkat yang terhubung untuk memuat URL Anda.

Meskipun merupakan solusi lo-fi, Pratinjau Jarak Jauh gratis dan berfungsi.

Grunt + Live-Reload (Mac, Windows, Linux)

Grunt (dan Yeoman) adalah alat command line yang digunakan untuk scaffolding dan membangun project di front-end. Jika Anda sudah menggunakan alat ini dan menyiapkan pemuatan ulang live, Anda dapat dengan mudah memperbarui alur kerja untuk mengaktifkan pengujian lintas-perangkat, di mana setiap perubahan yang Anda buat di editor akan menyebabkan pemuatan ulang pada perangkat mana pun tempat Anda membuka aplikasi lokal.

Anda mungkin sudah terbiasa menggunakan grunt server. Saat dijalankan dari direktori utama project, project akan mengawasi setiap perubahan pada file sumber Anda dan akan otomatis memuat ulang jendela browser. Hal ini berkat tugas grunt-contrib-watch yang kami jalankan sebagai bagian dari server.

Jika Anda kebetulan menggunakan Yeoman untuk menyusun project, ia akan membuat Gruntfile dengan semua yang diperlukan untuk melakukan pemuatan ulang live di desktop Anda. Agar dapat berfungsi lintas perangkat, Anda hanya perlu mengubah satu properti, yaitu hostname (di desktop). ID tersebut harus tercantum di bagian connect. Jika Anda melihat hostname disetel ke localhost, ubah saja ke 0.0.0.0. Selanjutnya, jalankan grunt server dan seperti biasa, jendela baru akan terbuka yang menampilkan pratinjau halaman Anda. URL-nya mungkin akan terlihat seperti http://localhost:9000 (portnya 9000).

Buka tab atau terminal baru dan gunakan ipconfig | grep inet untuk menemukan IP internal sistem Anda. Tampilannya mungkin terlihat seperti 192.168.32.20. Langkah terakhir adalah membuka browser seperti Chrome di perangkat yang ingin Anda sinkronkan livereloadnya dan ketik alamat IP ini, diikuti dengan nomor port sebelumnya, yaitu 192.169.32.20:9000.

Selesai. Muat ulang live kini seharusnya menyebabkan semua pengeditan yang Anda lakukan pada file sumber di desktop memicu pemuatan ulang di browser desktop dan browser di perangkat seluler Anda. Keren!

Hasil edit yang disimpan di desktop kini memicu pemuatan ulang live di browser desktop serta browser seluler di perangkat dengan URL yang sama
Hasil edit yang tersimpan di desktop kini memicu pemuatan ulang live di browser desktop serta browser seluler di perangkat dengan URL yang sama
Cara kerja pemuatan ulang live lintas perangkat. Setiap edit/simpan memberi Anda informasi waktu nyata untuk halaman Anda saat ini, bagus untuk pengujian desain responsif.
Cara kerja isi ulang live lintas perangkat. Setiap edit/simpan memberi Anda informasi waktu nyata untuk halaman Anda saat ini, bagus untuk pengujian desain responsif.

Yeoman juga memiliki Generator seluler yang memudahkan penyiapan alur kerja ini.

LiveStyle Emmet

Emmet LiveStyle adalah plugin browser dan editor yang menghadirkan pengeditan CSS langsung ke alur kerja pengembangan Anda. Saat ini, alat ini tersedia untuk Chrome, Safari, dan Sublime Text, serta mendukung pengeditan dua arah (editor ke browser dan sebaliknya).

Emmet LiveStyle tidak memaksa refresh browser lengkap saat Anda membuat perubahan, tetapi mengirim edit CSS ke seluruh protokol proses debug jarak jauh DevTools. Artinya, Anda dapat melihat perubahan yang dibuat di editor desktop pada versi Chrome yang terhubung, baik di Chrome desktop maupun Chrome untuk Android.

LiveStyle memiliki apa yang disebutnya "mode multi-tampilan", yang ideal untuk menguji dan menyesuaikan desain responsif di jendela dan perangkat. Dalam mode multi-tampilan, semua update editor diterapkan ke semua jendela, begitu juga update DevTools untuk halaman yang sama.

Dengan paket LiveStyle yang sudah terinstal, untuk memulai pengeditan CSS langsung:

  1. Memulai Sublime Text dan membuka file CSS di sebuah proyek
  2. Mulai Chrome dan buka halaman dengan CSS yang ingin Anda edit
  3. Buka DevTools dan masuk ke panel LiveStyle. Centang opsi "Enable LiveStyle". Catatan: DevTools harus tetap terbuka selama sesi pengeditan langsung untuk setiap jendela agar pembaruan gaya dapat diterapkan.
  4. Jika telah diaktifkan, daftar stylesheet akan ditampilkan di sebelah kiri dan daftar file editor di sebelah kanan. Pilih file editor yang akan dikaitkan dengan browser. Selesai. Boom.

Sekarang daftar file editor akan otomatis diperbarui saat Anda mengedit, membuat, membuka, atau menutup file.

Perubahan pada CSS di Sublime langsung di-patch di berbagai jendela browser dan emulator.
Perubahan pada CSS di Sublime langsung di-patch di berbagai jendela browser dan emulator.

Kesimpulan

Pengujian lintas-perangkat masih merupakan ruang baru dan bergerak cepat dengan banyak pesaing baru dalam pengembangan. Untungnya, ada sejumlah alat gratis dan komersial untuk memastikan kompatibilitas dan pengujian Anda di berbagai set perangkat.

Meskipun demikian, masih ada banyak potensi untuk ditingkatkan di area ini dan sebaiknya Anda memikirkan bagaimana alat untuk pengujian di berbagai perangkat dapat lebih ditingkatkan. Apa pun yang mengurangi waktu penyiapan dan meningkatkan alur kerja lintas perangkat Anda akan bermanfaat.

Masalah

Mungkin masalah terbesar yang saya alami selama pengujian dengan alat ini adalah perangkat yang tidur secara teratur. Ini tidak merusak kesepakatan, tetapi akan mengganggu setelah beberapa saat. Jika memungkinkan, sebaiknya setel perangkat agar tidak tidur sebagai solusi. Namun, perlu diingat bahwa tindakan ini dapat menghabiskan baterai kecuali jika Anda selalu dicolokkan ke sumber listrik.

Saya pribadi tidak mengalami masalah besar dengan GhostLab. Dengan harga $49, beberapa mungkin harganya sedikit curam; tetapi, perlu diingat jika Anda menggunakannya secara rutin, harga akan lebih atau kurang sepadan. Salah satu hal terbaik tentang penyiapan ini adalah tidak perlu mengkhawatirkan penginstalan dan pengelolaan klien per perangkat target. URL yang sama berfungsi di mana saja.

Dengan Adobe Edge Inspect, saya merasa menginstal dan menggunakan klien tertentu pada setiap perangkat sedikit merepotkan. Saya juga merasa tidak memperbarui semua klien yang terhubung secara konsisten, yang berarti saya harus melakukannya sendiri dari ekstensi Chrome. Library ini juga memerlukan langganan ke Creative Cloud dan terbatas untuk memuat situs di klien, bukan di browser yang dipilih di perangkat Anda. Hal ini dapat membatasi kemampuan Anda untuk melakukan pengujian secara akurat.

Pratinjau Jarak Jauh berfungsi seperti yang diiklankan, tetapi sangat ringan. Artinya, bukan hanya memuat ulang situs di berbagai perangkat, Anda juga memerlukan opsi alat yang lebih canggih. Misalnya, tindakan ini tidak akan menyinkronkan klik atau scroll.

Rekomendasi

Jika Anda mencari solusi lintas platform gratis untuk memulai, sebaiknya gunakan Pratinjau Jarak Jauh. Bagi mereka yang bekerja di perusahaan yang mencari solusi berbayar, GhostLab secara konsisten sangat baik dalam pengalaman saya, tetapi hanya tersedia untuk Mac. Untuk pengguna Windows, Adobe Edge Inspect adalah panggilan terbaik Anda dan dikurangi beberapa kebiasaan unik, umumnya menyelesaikan pekerjaan.

Grunt dan LiveStyle juga sangat bagus untuk meningkatkan iterasi live Anda selama pengembangan.