Beschreibung
Mit der chrome.devtools.recorder API kannst du den Rekorder-Bereich in den Entwicklertools anpassen.
Verfügbarkeit
Eine allgemeine Einführung zur Verwendung der Entwicklertools-APIs finden Sie in der Zusammenfassung der Entwicklertools.
Übersicht
Die devtools.recorder API ist eine Vorschaufunktion, mit der du den Rekorder-Bereich in den Chrome-Entwicklertools erweitern kannst.
Ab Chrome M105 können Sie die Exportfunktion erweitern. Ab Chrome M112 können Sie die Wiedergabeschaltfläche verlängern.
Exportfunktion anpassen
Zum Registrieren eines Erweiterungs-Plug-ins verwenden Sie die Funktion registerRecorderExtensionPlugin. Für diese Funktion sind eine Plug-in-Instanz, name und mediaType als Parameter erforderlich. Die Plug-in-Instanz muss zwei Methoden implementieren: stringify und stringifyStep.
Die von der Erweiterung bereitgestellte name wird im Bereich Rekorder im Menü Exportieren angezeigt.
Wenn der Nutzer auf die Exportoption der Erweiterung klickt, ruft der Bereich Rekorder eine der beiden Funktionen auf:
- stringify, die eine gesamte User Flow-Aufzeichnung empfängt
- stringifyStep, der einen einzelnen aufgezeichneten Schritt erhält
Mit dem Parameter mediaType kann die Erweiterung die Art der Ausgabe angeben, die sie mit dem
stringify- und stringifyStep-Funktionen. Beispiel: application/javascript, wenn das Ergebnis ein JavaScript-Code ist.
.
Beispiel für Export-Plug-in
Mit dem folgenden Code wird ein Erweiterungs-Plug-in implementiert, das eine Aufnahme mit JSON.stringify als String festlegt:
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'
);
Wiedergabeschaltfläche anpassen
Verwenden Sie die registerRecorderExtensionPlugin-Funktion, um die Schaltfläche für die erneute Wiedergabe im Rekorder anzupassen. Das Plug-in muss die Methode replay implementieren, damit die Anpassung wirksam wird. 
Wenn die Methode erkannt wird, erscheint im Rekorder eine Schaltfläche zur erneuten Wiedergabe. 
Beim Klicken auf die Schaltfläche wird das aktuelle Aufzeichnungsobjekt als erstes Argument an die Methode replay übergeben.
An dieser Stelle kann die Erweiterung ein RecorderView für die Verarbeitung der Wiedergabe anzeigen oder andere Erweiterungs-APIs verwenden, um die Wiedergabeanfrage zu verarbeiten. Rufen Sie chrome.devtools.recorder.createView auf, um eine neue RecorderView zu erstellen.
Beispiel für das Replay-Plug-in
Mit dem folgenden Code wird ein Erweiterungs-Plug-in implementiert, das eine Rekorder-Dummy-Ansicht erstellt und bei einer Wiederholungsanfrage anzeigt:
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'
);
Ein vollständiges Beispiel für eine Erweiterung finden Sie auf GitHub.
Typen
RecorderExtensionPlugin
Eine Plug-in-Schnittstelle, die vom Bereich „Rekorder“ aufgerufen wird, um den Bereich „Rekorder“ anzupassen.
Attribute
- 
    Nochmalvoidm Chrome 112 und höherErmöglicht der Erweiterung, eine benutzerdefinierte Wiedergabefunktion zu implementieren. Die Funktion replaysieht so aus: <ph type="x-smartling-placeholder"></ph>(recording: object) => {...} - 
    nimmstObjekt Eine Aufzeichnung der Nutzerinteraktion mit der Seite. Dies sollte dem Aufnahmeschema von Puppeteer entsprechen. 
 
- 
    
- 
    Stringifyvoidm Konvertiert eine Aufnahme aus dem Feld „Rekorder“ in einen String. Die Funktion stringifysieht so aus: <ph type="x-smartling-placeholder"></ph>(recording: object) => {...} - 
    nimmstObjekt Eine Aufzeichnung der Nutzerinteraktion mit der Seite. Dies sollte dem Aufnahmeschema von Puppeteer entsprechen. 
 
- 
    
- 
    stringifyStepvoidm Konvertiert einen Schritt der Aufnahme aus dem Feldformat Rekorder in einen String. Die Funktion stringifyStepsieht so aus: <ph type="x-smartling-placeholder"></ph>(step: object) => {...} - 
    SchrittObjekt Ein Schritt der Aufzeichnung einer Nutzerinteraktion mit der Seite. Dies sollte mit dem Puppeteer-Schrittschema übereinstimmen. 
 
- 
    
RecorderView
Stellt eine durch Erweiterung erstellte Ansicht dar, die in den Rekorder-Bereich eingebettet wird.
Attribute
- 
    onHiddenEreignis<functionvoidvoid> Wird ausgelöst, wenn die Ansicht ausgeblendet ist Die Funktion onHidden.addListenersieht so aus: <ph type="x-smartling-placeholder"></ph>(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus: <ph type="x-smartling-placeholder"></ph>() => void 
 
- 
    
- 
    onShownEreignis<functionvoidvoid> Wird ausgelöst, wenn die Ansicht angezeigt wird Die Funktion onShown.addListenersieht so aus: <ph type="x-smartling-placeholder"></ph>(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus: <ph type="x-smartling-placeholder"></ph>() => void 
 
- 
    
- 
    Einblendenvoidm Gibt an, dass die Erweiterung diese Ansicht im Rekorder-Bereich anzeigen möchte. Die Funktion showsieht so aus: <ph type="x-smartling-placeholder"></ph>() => {...}
Methoden
createView()
chrome.devtools.recorder.createView(
title: string,
pagePath: string,
): RecorderView
Erstellt eine Ansicht, die die erneute Wiedergabe verarbeiten kann. Diese Ansicht wird in den Rekorder-Bereich eingebettet.
Parameter
- 
    TitelString Titel, der neben dem Erweiterungssymbol in der Symbolleiste der Entwicklertools angezeigt wird. 
- 
    pagePathString Pfad der HTML-Seite des Bereichs relativ zum Erweiterungsverzeichnis. 
Gibt Folgendes zurück:
registerRecorderExtensionPlugin()
chrome.devtools.recorder.registerRecorderExtensionPlugin(
plugin: RecorderExtensionPlugin,
name: string,
mediaType: string,
): void
Registriert das Plug-in der Rekorder-Erweiterung.
Parameter
- 
    Plug-inEine Instanz, die die RecorderExtensionPlugin-Schnittstelle implementiert. 
- 
    NameString Der Name des Plug-ins. 
- 
    mediaTypeString Der Medientyp des Stringinhalts, den das Plug-in erzeugt.