Temukan cara membagikan alur penggunaan, mengeditnya, dan langkah-langkahnya dalam referensi fitur komprehensif panel Perekam Chrome DevTools.
Untuk mempelajari dasar-dasar penggunaan panel Perekam, lihat Merekam, memutar ulang, dan mengukur alur penggunaan.
Mempelajari dan menyesuaikan pintasan
Gunakan pintasan untuk menjelajahi Perekam Suara dengan lebih cepat. Untuk daftar pintasan default, lihat Pintasan keyboard panel Perekam Suara.
Untuk membuka petunjuk yang mencantumkan semua pintasan langsung di Perekam, klik
Tampilkan pintasan di sudut kanan atas.Untuk menyesuaikan pintasan Perekam Suara:
- Buka Setelan > Pintasan.
- Scroll ke bawah ke bagian Perekam.
- Ikuti langkah-langkah di Menyesuaikan pintasan.
Edit alur penggunaan
Di bagian atas panel Perekam, ada opsi untuk:
- Menambahkan rekaman baru. Klik ikon + untuk menambahkan rekaman baru.
- Melihat semua rekaman. Drop-down akan menampilkan daftar rekaman yang tersimpan. Pilih opsi [angka] rekaman untuk meluaskan dan mengelola daftar rekaman yang disimpan.
Mengekspor rekaman. Untuk menyesuaikan skrip lebih lanjut atau membagikannya untuk tujuan pelaporan bug, Anda dapat mengekspor alur penggunaan dalam salah satu format berikut:
- file JSON Anda.
- Skrip @puppeteer/replay.
- Skrip Puppeteer.
- Puppeteer (termasuk analisis Lighthouse).
Untuk mengetahui informasi selengkapnya tentang format, lihat Mengekspor alur penggunaan.
Impor rekaman. Hanya dalam format JSON.
Menghapus rekaman. Hapus rekaman yang dipilih.
Anda juga dapat mengedit nama rekaman dengan mengklik tombol edit di sampingnya.
Bagikan alur pengguna
Anda dapat mengekspor dan mengimpor alur penggunaan di Perekam. Hal ini berguna untuk pelaporan bug karena Anda dapat membagikan catatan yang tepat dari langkah-langkah yang mereproduksi bug. Anda juga dapat mengekspor dan memutarnya dengan library eksternal.
Mengekspor alur penggunaan
Untuk mengekspor alur pengguna:
- Buka alur pengguna yang ingin diekspor.
- Klik Ekspor di bagian atas panel Perekam.
- Pilih salah satu format berikut dari menu drop-down:
- File JSON. Download rekaman sebagai file JSON.
- @puppeteer/replay. Download rekaman sebagai skrip Puppeteer Replay.
- Puppeteer. Download rekaman sebagai skrip Puppeteer.
- Boneka (termasuk analisis Mercusuar). Download rekaman sebagai skrip Puppeteer dengan analisis Lighthouse tersemat.
- Satu atau beberapa opsi yang disediakan oleh Ekspor ekstensi Perekam.
- Simpan file.
Anda dapat melakukan hal berikut dengan setiap opsi ekspor default:
- JSON. Edit objek JSON yang dapat dibaca manusia dan import file JSON kembali ke Perekam.
- @puppeteer/replay. Putar ulang skrip dengan library Puppeteer Replay. Saat diekspor sebagai skrip @puppeteer/replay, langkah-langkahnya tetap berupa objek JSON. Opsi ini sangat cocok jika Anda ingin berintegrasi dengan pipeline CI/CD, tetapi tetap memiliki fleksibilitas untuk mengedit langkah-langkah sebagai JSON, lalu mengonversi dan mengimpornya kembali ke Perekam.
- Skrip boneka. Putar ulang skrip dengan Puppeteer. Karena langkah-langkah dikonversi ke JavaScript, Anda dapat memiliki penyesuaian yang lebih halus, misalnya mengulang langkah. Satu peringatan, Anda tidak dapat mengimpor skrip ini kembali ke Perekam.
Boneka (termasuk analisis Mercusuar). Opsi ekspor ini sama dengan yang sebelumnya tetapi opsi ini mencakup kode yang membuat analisis Lighthouse.
Jalankan skrip dan lihat output dalam file
flow.report.html
:# npm i puppeteer lighthouse node your_export.js
Ekspor dalam format kustom dengan menginstal ekstensi
Lihat Ekstensi Perekam Suara.
Mengimpor alur penggunaan
Untuk mengimpor alur penggunaan:
- Klik tombol Import di bagian atas panel Recorder.
- Pilih file JSON dengan alur penggunaan yang direkam.
- Klik tombol Replay untuk menjalankan alur penggunaan yang diimpor.
Gunakan kembali library eksternal
Puppeteer Replay adalah library open source yang dikelola oleh tim Chrome DevTools. Bangunan ini dibangun di atas Puppeteer. Ini adalah alat command line, Anda dapat memutar ulang file JSON dengan alat ini.
Selain itu, Anda dapat mengubah dan memutar ulang file JSON dengan library pihak ketiga berikut.
Mengubah alur penggunaan JSON menjadi skrip kustom:
- Cypress Chrome Recorder. Anda dapat menggunakannya untuk mengonversi file JSON alur penggunaan ke skrip pengujian Cypress. Tonton demo ini untuk melihat cara kerjanya.
- Perekam Chrome Nightwatch. Anda dapat menggunakannya untuk mengonversi file JSON alur penggunaan menjadi skrip pengujian Nightwatch.
- CodeceptJS Perekam Chrome. Anda dapat menggunakannya untuk mengonversi file JSON alur penggunaan menjadi skrip pengujian CodeceptJS.
Memutar ulang alur penggunaan JSON:
- Bermain kembali dengan Testcafe. Anda dapat menggunakan TestCafe untuk memutar ulang file JSON alur penggunaan dan membuat laporan pengujian untuk rekaman ini.
- Replay dengan Sauce Labs. Anda dapat memutar ulang file JSON di Sauce Labs menggunakan saucectl.
Men-debug alur penggunaan
Seperti kode lainnya, terkadang Anda harus men-debug alur pengguna yang direkam.
Untuk membantu Anda men-debug, panel Perekam memungkinkan Anda memperlambat pemutaran ulang, menyetel titik henti sementara, melangkahi eksekusi, dan memeriksa kode dalam berbagai format secara paralel dengan langkah-langkah.
Perlambat replay
Secara default, Perekam memutar ulang alur penggunaan secepat mungkin. Untuk memahami apa yang terjadi dalam rekaman, Anda dapat memperlambat kecepatan pemutaran ulang:
- Buka menu drop-down Putar ulang.
- Pilih salah satu opsi kecepatan putar ulang:
- Normal (Default)
- Lambat
- Sangat lambat
- Sangat lambat
Memeriksa kode
Untuk memeriksa kode alur penggunaan dalam berbagai format:
- Buka rekaman di panel Perekam.
- Klik Tampilkan kode di sudut kanan atas daftar langkah.
- Perekam menampilkan tampilan langkah-langkah dan kodenya secara berdampingan.
- Saat Anda mengarahkan kursor ke langkah, Perekam akan menandai kodenya dalam format apa pun, termasuk yang disediakan oleh ekstensi.
Luaskan menu drop-down format untuk memilih format yang Anda gunakan untuk mengekspor alur penggunaan.
Format ini dapat berupa salah satu dari tiga format default (JSON, @puppeteer/replay, skrip Puppeteer, atau format yang disediakan oleh ekstensi.
Lanjutkan untuk men-debug rekaman Anda dengan mengedit parameter dan nilai langkah. Tampilan kode tidak dapat diedit, tetapi akan diperbarui sesuai saat Anda membuat perubahan pada langkah-langkah di sebelah kiri.
Menetapkan titik henti sementara dan menjalankan langkah demi langkah
Untuk menetapkan titik henti sementara dan menjalankan langkah demi langkah:
- Arahkan kursor ke lingkaran di samping langkah mana pun dalam rekaman. Lingkaran berubah menjadi ikon titik henti sementara .
- Klik ikon titik henti sementara dan putar ulang rekaman. Eksekusi dijeda di titik henti sementara.
- Untuk melakukan eksekusi, klik tombol Execute one step pada panel tindakan di bagian atas panel Perekam.
- Untuk menghentikan replay, klik Batalkan replay.
Mengedit langkah
Anda dapat mengedit langkah mana pun dalam rekaman dengan mengklik tombol di sampingnya, baik selama perekaman maupun setelahnya.
Anda juga dapat menambahkan langkah yang tidak ada dan menghapus langkah yang direkam secara tidak sengaja.
Tambahkan langkah
Terkadang, Anda mungkin perlu menambahkan langkah-langkah secara manual. Misalnya, Perekam tidak secara otomatis merekam peristiwa hover
karena mengotori rekaman dan tidak semua peristiwa tersebut berguna. Namun, elemen UI seperti menu drop-down hanya dapat muncul di hover
. Anda dapat menambahkan langkah hover
secara manual ke alur penggunaan yang bergantung pada elemen tersebut.
Untuk menambahkan langkah secara manual:
- Buka halaman demo ini dan mulai perekaman baru.
- Arahkan kursor ke elemen di area tampilan. Menu tindakan akan muncul.
- Pilih tindakan dari menu dan akhiri rekaman. Perekam hanya merekam peristiwa klik.
- Coba putar ulang rekaman dengan mengklik Putar ulang. Pemutaran ulang gagal setelah waktu tunggu habis karena Perekam tidak dapat mengakses elemen di menu.
- Klik tombol tiga titik di samping langkah Klik, lalu pilih Tambahkan langkah sebelumnya.
- Luaskan langkah baru. Secara default, kolom ini memiliki jenis
waitForElement
. Klik nilai di sampingtype
, lalu pilihhover
. - Selanjutnya, setel pemilih yang sesuai untuk langkah baru. Klik Select, lalu klik area pada elemen
Hover over me!
yang berada di luar menu pop-up. Pemilih disetel ke#clickable
. - Coba putar ulang rekaman lagi. Dengan langkah pengarahan kursor yang ditambahkan, Perekam berhasil memutar ulang alur.
Menambahkan pernyataan
Selama perekaman, Anda dapat menyatakan, misalnya, atribut HTML dan properti JavaScript. Untuk menambahkan pernyataan:
- Mulai perekaman, misalnya, di halaman demo ini.
Klik Add Assertion.
Perekam membuat langkah
waitForElement
yang dapat dikonfigurasi.Tentukan pemilih untuk langkah ini.
Konfigurasi langkah tetapi jangan ubah jenis
waitForElement
-nya. Misalnya, Anda dapat menentukan:- Atribut HTML. Klik Tambahkan atribut dan ketik nama dan nilai atribut yang digunakan elemen dalam halaman ini. Misalnya,
data-test: <value>
. - Properti JavaScript. Klik Tambahkan properti, lalu ketik nama dan nilai properti dalam format JSON. Misalnya,
{".innerText":"<text>"}
. - Properti langkah lainnya. Misalnya,
visible: true
.
- Atribut HTML. Klik Tambahkan atribut dan ketik nama dan nilai atribut yang digunakan elemen dalam halaman ini. Misalnya,
Lanjutkan untuk merekam alur penggunaan lainnya, lalu hentikan perekaman.
Klik Putar ulang. Jika pernyataan gagal, Recorder akan menampilkan error setelah waktu tunggu.
Tonton video berikut untuk melihat cara kerja alur kerja ini.
Salin langkah
Daripada mengekspor seluruh alur penggunaan, Anda dapat menyalin satu langkah ke papan klip:
- Klik kanan langkah yang ingin disalin atau klik ikon tiga titik di sampingnya.
- Di menu drop-down, pilih salah satu opsi Salin sebagai ....
Anda dapat menyalin langkah dalam berbagai format: JSON, Puppeteer, @puppeteer/replay, dan yang disediakan oleh ekstensi.
Menghapus langkah
Untuk menghapus langkah yang tidak sengaja dicatat, klik kanan langkah tersebut atau klik ikon tiga titik di sampingnya dan pilih Hapus langkah.
Selain itu, Perekam Suara akan otomatis menambahkan dua langkah terpisah ke awal setiap rekaman:
- Tetapkan area tampilan. Memungkinkan Anda mengontrol dimensi, penskalaan, dan properti lainnya dari area pandang.
- Navigasi. Menetapkan URL dan otomatis memuat ulang halaman untuk setiap pemutaran ulang.
Untuk melakukan otomatisasi dalam halaman tanpa memuat ulang halaman, hapus langkah navigasi seperti yang dijelaskan di atas.
Konfigurasi langkah
Untuk mengonfigurasi langkah:
Tentukan jenisnya:
click
,doubleClick
,hover
, (input)change
,keyUp
,keyDown
,scroll
,close
,navigate
(ke halaman),waitForElement
,waitForExpression
, atausetViewport
.Properti lainnya bergantung pada nilai
type
.Tentukan properti yang diperlukan di bawah
type
.Klik tombol yang sesuai untuk menambahkan properti khusus jenis opsional dan menentukannya.
Untuk mengetahui daftar properti yang tersedia, lihat Properti langkah.
Untuk menghapus properti opsional, klik tombol Hapus di sampingnya.
Untuk menambahkan atau menghapus elemen ke atau dari properti array, klik tombol + atau - di samping elemen.
Properti langkah
Setiap langkah dapat memiliki properti opsional berikut:
target
—URL untuk target Chrome DevTools Protocol (CDP), kata kuncimain
default merujuk ke halaman saat ini.assertedEvents
yang saat ini hanya dapat berupa satu peristiwanavigation
Properti umum lainnya yang tersedia untuk sebagian besar jenis langkah adalah:
frame
—array indeks berbasis nol yang mengidentifikasi iframe yang dapat disusun bertingkat. Misalnya, Anda dapat mengidentifikasi iframe pertama (0) di dalam iframe kedua (1) target utama sebagai[1, 0]
.timeout
—jumlah milidetik untuk menunggu sebelum mengeksekusi langkah. Untuk mengetahui informasi selengkapnya, lihat Menyesuaikan waktu tunggu untuk langkah-langkah.selectors
—array pemilih. Untuk mengetahui informasi selengkapnya, lihat Memahami pemilih.
Properti khusus jenis adalah:
Jenis | Properti | Wajib | Deskripsi |
click doubleClick |
offsetX offsetY |
Relatif terhadap kiri atas kotak konten elemen, dalam piksel | |
click doubleClick |
button |
Tombol kursor: primer | bantu | detik | kembali | maju | |
change |
value |
Nilai akhir | |
keyDown keyUp |
key |
Nama kunci | |
scroll |
x y |
Posisi x dan y scroll absolut dalam piksel, default 0 | |
navigate |
url |
URL Target | |
waitForElement |
operator |
>= | == (default) | <= | |
waitForElement |
count |
Jumlah elemen yang diidentifikasi oleh pemilih | |
waitForElement |
attributes |
Atribut HTML dan nilainya | |
waitForElement |
properties |
Properti JavaScript dan nilainya di JSON | |
waitForElement |
visible |
Boolean. Benar jika elemen berada di DOM dan terlihat (tidak memiliki display: none atau visibility: hidden ) |
|
waitForElement waitForExpression |
asserted events |
Saat ini, hanya type: navigation , tetapi Anda dapat menentukan judul dan URL |
|
waitForElement waitForExpression |
timeout |
Waktu tunggu maksimum dalam milidetik | |
waitForExpression |
expression |
Ekspresi JavaScript yang me-resolve ke true | |
setViewport |
width height |
Lebar dan tinggi area pandang dalam piksel | |
setViewport |
deviceScaleFactor |
Serupa dengan Rasio Piksel Perangkat (DPR), default 1 | |
setViewport |
isMobile hasTouch isLandscape |
Flag Boolean yang menentukan apakah akan: |
Ada dua properti yang membuat replay dijeda:
Properti
waitForElement
membuat langkah menunggu adanya (atau ketidakhadiran) sejumlah elemen yang diidentifikasi oleh pemilih. Misalnya, langkah berikut menunggu kurang dari tiga elemen di halaman yang cocok dengan pemilih.my-class
."type": "waitForElement", "selectors": [".my-class"], "operator": "<=", "count": 2,
Properti
waitForExpression
membuat langkah menunggu ekspresi JavaScript di-resolve ke benar. Misalnya, langkah berikut dijeda selama dua detik, lalu di-resolve ke true (benar) yang memungkinkan replay dilanjutkan."type": "waitForExpression", "expression": "new Promise(resolve => setTimeout(() => resolve(true), 2000))",
Menyesuaikan waktu tunggu untuk langkah
Jika halaman Anda memiliki permintaan jaringan yang lambat atau animasi yang panjang, pemutaran ulang dapat gagal pada langkah yang melebihi waktu tunggu default 5000
milidetik.
Untuk menghindari masalah ini, Anda dapat menyesuaikan waktu tunggu default untuk setiap langkah sekaligus atau menetapkan waktu tunggu terpisah untuk langkah tertentu. Waktu tunggu pada langkah tertentu akan menimpa default.
Untuk menyesuaikan waktu tunggu default untuk setiap langkah sekaligus:
Klik Replay settings agar kotak Timeout dapat diedit.
Di kotak Timeout, tetapkan nilai waktu tunggu dalam milidetik.
Klik Putar ulang untuk melihat cara kerja waktu tunggu default yang disesuaikan.
Untuk menimpa waktu tunggu default pada langkah tertentu:
Luaskan langkah, lalu klik Tambahkan waktu tunggu.
Klik
timeout: <value>
dan tetapkan nilai dalam milidetik.Klik Putar ulang untuk melihat langkah dengan cara kerja waktu tunggu.
Untuk menghapus penggantian waktu tunggu di langkah, klik tombol Hapus di sampingnya.
Memahami pemilih
Saat memulai perekaman baru, Anda dapat mengonfigurasi hal berikut:
- Di kotak teks Atribut pemilih, masukkan atribut pengujian khusus. Perekam akan menggunakan atribut ini untuk mendeteksi pemilih, bukan daftar atribut pengujian umum.
Di kumpulan kotak centang Selector types to record, pilih jenis pemilih yang akan dideteksi secara otomatis:
- CSS. Pemilih sintaksis.
- ARIA. Pemilih semantik.
- Teks. Pemilih dengan teks unik terpendek jika tersedia.
- XPath. Pemilih yang menggunakan XML Path Language.
- Pierce. Pemilih yang mirip dengan pemilih CSS, tetapi dapat menembus shadow DOM.
Pemilih pengujian umum
Untuk halaman web sederhana, atribut id
dan atribut class
CSS memadai bagi Perekam untuk mendeteksi pemilih. Namun, hal ini mungkin tidak selalu terjadi karena:
- Halaman web Anda mungkin menggunakan kelas atau ID dinamis yang berubah.
- Pemilih Anda mungkin rusak karena perubahan kode atau framework.
Misalnya, nilai class
CSS mungkin dibuat secara otomatis untuk aplikasi yang dikembangkan dengan framework JavaScript modern (misalnya, React, Angular, Vue) dan framework CSS.
Dalam hal ini, Anda dapat menggunakan atribut data-*
untuk membuat pengujian yang lebih tangguh. Sudah ada beberapa pemilih data-*
umum yang digunakan developer untuk otomatisasi. Perekam juga mendukungnya.
Jika Anda telah menentukan pemilih pengujian umum berikut di situs, Perekam akan otomatis mendeteksi dan menggunakannya terlebih dahulu:
data-testid
data-test
data-qa
data-cy
data-test-id
data-qa-id
data-testing
Misalnya, periksa "Cappuccino" di halaman demo ini lalu lihat atribut pengujian:
Rekam klik pada "Cappuccino", luaskan langkah yang sesuai dalam rekaman, dan periksa pemilih yang terdeteksi:
Menyesuaikan pemilih rekaman
Anda dapat menyesuaikan pemilih rekaman jika pemilih pengujian umum tidak berfungsi untuk Anda.
Misalnya, halaman demo ini menggunakan atribut data-automate
sebagai pemilih. Mulai rekaman baru dan masukkan data-automate
sebagai atribut pemilih.
Isi alamat email dan amati nilai pemilih ([data-automate=email-address]
).
Prioritas pemilih
Perekam mencari pemilih dalam urutan berikut, bergantung pada apakah Anda menentukan atribut pemilih CSS kustom:
- Jika ditentukan:
- Pemilih CSS dengan atribut CSS kustom Anda.
- Pemilih XPath.
- Pemilih ARIA jika ditemukan.
- Pemilih dengan teks unik terpendek jika ditemukan.
- Jika tidak ditentukan:
- Pemilih ARIA jika ditemukan.
- Pemilih CSS dengan prioritas berikut:
- Atribut paling umum yang digunakan untuk pengujian:
data-testid
data-test
data-qa
data-cy
data-test-id
data-qa-id
data-testing
- Atribut ID, misalnya,
<div id="some_ID">
. - Pemilih CSS reguler.
- Atribut paling umum yang digunakan untuk pengujian:
- Pemilih XPath.
- Pemilih Pierce.
- Pemilih dengan teks unik terpendek jika ditemukan.
Dapat ada beberapa pemilih CSS, XPath, dan Pierce reguler. Perekam merekam:
- Pemilih CSS dan XPath reguler di setiap tingkat root, yaitu host bayangan bertingkat, jika ada.
- Pemilih Pierce yang unik di antara semua elemen dalam semua root bayangan.