Deskripsi
Gunakan chrome.devtools.recorder API untuk menyesuaikan panel Perekam Suara di DevTools.
Ketersediaan
Lihat ringkasan API DevTools untuk pengantar umum tentang penggunaan API Developer Tools.
Ringkasan
devtools.recorder API adalah fitur pratinjau yang memungkinkan Anda memperluas panel Perekam Suara di Chrome DevTools.
Mulai Chrome M105, Anda dapat memperluas fungsi ekspor. Mulai Chrome M112, Anda dapat memperpanjang tombol putar ulang.
Menyesuaikan fitur ekspor
Untuk mendaftarkan plugin ekstensi, gunakan fungsi registerRecorderExtensionPlugin. Fungsi ini memerlukan instance plugin, name, dan mediaType sebagai parameter. Instance plugin harus mengimplementasikan dua metode: stringify dan stringifyStep.
name yang disediakan oleh ekstensi muncul di menu Export di panel Perekam.
Bergantung pada konteks ekspor, saat pengguna mengklik opsi ekspor yang disediakan oleh ekstensi, panel Perekam memanggil salah satu dari dua fungsi:
- stringifyyang menerima seluruh rekaman alur penggunaan
- stringifyStepyang menerima satu langkah yang dicatat
Parameter mediaType memungkinkan ekstensi menentukan jenis output yang dihasilkan dengan
Fungsi stringify dan stringifyStep. Misalnya, application/javascript jika hasilnya adalah JavaScript
program ini.
Ekspor contoh plugin
Kode berikut mengimplementasikan plugin ekstensi yang melakukan string pada rekaman menggunakan JSON.stringify:
class MyPlugin {
  stringify(recording) {
    return Promise.resolve(JSON.stringify(recording));
  }
  stringifyStep(step) {
    return Promise.resolve(JSON.stringify(step));
  }
}
chrome.devtools.recorder.registerRecorderExtensionPlugin(
  new MyPlugin(),
  /*name=*/'MyPlugin',
  /*mediaType=*/'application/json'
);
Menyesuaikan tombol putar ulang
Untuk menyesuaikan tombol putar ulang di Perekam, gunakan fungsi registerRecorderExtensionPlugin. Plugin harus mengimplementasikan metode replay agar penyesuaian dapat diterapkan. 
Jika metode ini terdeteksi, tombol putar ulang akan muncul di Perekam. 
Setelah mengklik tombol tersebut, objek perekaman saat ini akan diteruskan sebagai argumen pertama ke metode replay.
Pada tahap ini, ekstensi dapat menampilkan RecorderView untuk menangani replay atau menggunakan API ekstensi lainnya untuk memproses permintaan replay. Untuk membuat RecorderView baru, panggil chrome.devtools.recorder.createView.
Contoh plugin replay
Kode berikut mengimplementasikan plugin ekstensi yang membuat tampilan Perekam Suara contoh dan menampilkannya pada permintaan pemutaran ulang:
const view = await chrome.devtools.recorder.createView(
  /* name= */ 'ExtensionName',
  /* pagePath= */ 'Replay.html'
);
let latestRecording;
view.onShown.addListener(() => {
  // Recorder has shown the view. Send additional data to the view if needed.
  chrome.runtime.sendMessage(JSON.stringify(latestRecording));
});
view.onHidden.addListener(() => {
  // Recorder has hidden the view.
});
export class RecorderPlugin {
  replay(recording) {
    // Share the data with the view.
    latestRecording = recording;
    // Request to show the view.
    view.show();
  }
}
chrome.devtools.recorder.registerRecorderExtensionPlugin(
  new RecorderPlugin(),
  /* name=*/ 'CoffeeTest'
);
Temukan contoh ekstensi lengkap di GitHub.
Jenis
RecorderExtensionPlugin
Antarmuka plugin yang dipanggil panel Perekam Suara untuk menyesuaikan panel Perekam Suara.
Properti
- 
    replayvoid Chrome 112 dan yang lebih baruMengizinkan ekstensi untuk menerapkan fungsi replay kustom. Fungsi replayakan terlihat seperti ini:(recording: object) => {...} - 
    merekamobjek Rekaman interaksi pengguna dengan halaman. Ini harus cocok dengan skema perekaman Puppeteer. 
 
- 
    
- 
    stringifyvoid Mengonversi rekaman dari format panel Perekam Suara menjadi string. Fungsi stringifyakan terlihat seperti ini:(recording: object) => {...} - 
    merekamobjek Rekaman interaksi pengguna dengan halaman. Ini harus cocok dengan skema perekaman Puppeteer. 
 
- 
    
- 
    stringifyStepvoid Mengonversi langkah rekaman dari format panel Perekam ke dalam string. Fungsi stringifyStepakan terlihat seperti ini:(step: object) => {...} - 
    langkahobjek Langkah dari perekaman interaksi pengguna dengan halaman. Ini harus cocok dengan skema langkah Puppeteer. 
 
- 
    
RecorderView
Mewakili tampilan yang dibuat oleh ekstensi untuk disematkan di dalam panel Perekam Suara.
Properti
- 
    onHiddenPeristiwa<functionvoidvoid> Diaktifkan saat tampilan disembunyikan. Fungsi onHidden.addListenerakan terlihat seperti ini:(callback: function) => {...} - 
    callbackfungsi Parameter callbackterlihat seperti ini:() => void 
 
- 
    
- 
    onShownPeristiwa<functionvoidvoid> Diaktifkan saat tampilan ditampilkan. Fungsi onShown.addListenerakan terlihat seperti ini:(callback: function) => {...} - 
    callbackfungsi Parameter callbackterlihat seperti ini:() => void 
 
- 
    
- 
    tunjukkanvoid Menunjukkan bahwa ekstensi ingin menampilkan tampilan ini di panel Perekam Suara. Fungsi showakan terlihat seperti ini:() => {...}
Metode
createView()
chrome.devtools.recorder.createView(
title: string,
pagePath: string,
): RecorderView
Membuat tampilan yang dapat menangani replay. Tampilan ini akan disematkan di dalam panel Perekam Suara.
Parameter
- 
    judulstring Judul yang ditampilkan di samping ikon ekstensi di toolbar Developer Tools. 
- 
    pagePathstring Jalur halaman HTML panel yang relatif terhadap direktori ekstensi. 
Hasil
registerRecorderExtensionPlugin()
chrome.devtools.recorder.registerRecorderExtensionPlugin(
plugin: RecorderExtensionPlugin,
name: string,
mediaType: string,
): void
Mendaftarkan plugin ekstensi Perekam Suara.
Parameter
- 
    pluginInstance yang menerapkan antarmuka RecorderExtensionPlugin. 
- 
    namastring Nama plugin. 
- 
    mediaTypestring Jenis media konten string yang dihasilkan plugin.