Opis
Użyj interfejsu chrome.devtools.recorder API, aby dostosować panel Rejestratora w Narzędziach deweloperskich.
devtools.recorder API to funkcja w wersji zapoznawczej, która umożliwia rozszerzenie panelu Rejestrator w Narzędziach deweloperskich w Chrome.
Ogólne wprowadzenie do korzystania z interfejsów API Narzędzi deweloperskich znajdziesz w podsumowaniu interfejsów API Narzędzi deweloperskich.
Dostępność
Pojęcia i zastosowanie
Dostosowywanie funkcji eksportu
Aby zarejestrować wtyczkę rozszerzenia, użyj funkcji registerRecorderExtensionPlugin. Ta funkcja wymaga jako parametrów instancji wtyczki, name i mediaType. Instancja wtyczki musi implementować 2 metody: stringify i stringifyStep.
name udostępniony przez rozszerzenie pojawi się w menu Eksportuj w panelu Rejestrator.
W zależności od kontekstu eksportu, gdy użytkownik kliknie opcję eksportu udostępnioną przez rozszerzenie, panel Rejestrator wywoła jedną z tych 2 funkcji:
stringify, która otrzymuje całe nagranie wzorca przeglądania.stringifyStepktóry otrzymuje pojedynczy zarejestrowany krok
Parametr mediaType umożliwia rozszerzeniu określenie rodzaju danych wyjściowych generowanych przez funkcje stringify i stringifyStep. Na przykład application/javascript jeśli wynikiem jest program w JavaScript.
Dostosowywanie przycisku odpowiedzi
Aby dostosować przycisk odtwarzania w Dyktafonie, użyj funkcji registerRecorderExtensionPlugin. Aby dostosowywanie było możliwe, wtyczka musi implementować metodę replay.
Jeśli metoda zostanie wykryta, w rejestratorze pojawi się przycisk odtwarzania.
Po kliknięciu przycisku bieżący obiekt nagrania zostanie przekazany jako pierwszy argument do metody replay.
Na tym etapie rozszerzenie może wyświetlić RecorderView, aby obsłużyć odtwarzanie, lub użyć innych interfejsów API rozszerzenia do przetworzenia żądania odtwarzania. Aby utworzyć nowy RecorderView, wywołaj chrome.devtools.recorder.createView.
Przykłady
Eksportuj wtyczkę
Poniższy kod implementuje wtyczkę rozszerzenia, która przekształca nagranie w ciąg znaków za pomocą funkcji 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'
);
Wtyczka powtórki
Poniższy kod implementuje wtyczkę rozszerzenia, która tworzy widok fikcyjnego Dyktafonu i wyświetla go na żądanie odtworzenia:
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'
);
Pełny przykład rozszerzenia znajdziesz w GitHubie.
Typy
RecorderExtensionPlugin
Interfejs wtyczki, który panel Dyktafonu wywołuje w celu dostosowania panelu Dyktafonu.
Właściwości
-
odtwórz ponownie
pusty
Chrome 112 lub nowszaUmożliwia rozszerzeniu implementowanie niestandardowych funkcji odtwarzania.
Funkcja
replaywygląda tak:(recording: object) => {...}
-
nagrywanie
obiekt
Nagranie interakcji użytkownika ze stroną. Powinien być zgodny ze schematem nagrywania Puppeteer.
-
-
stringify
pusty
Konwertuje nagranie z panelu Dyktafonu na ciąg tekstowy.
Funkcja
stringifywygląda tak:(recording: object) => {...}
-
nagrywanie
obiekt
Nagranie interakcji użytkownika ze stroną. Powinien być zgodny ze schematem nagrywania Puppeteer.
-
-
stringifyStep
pusty
Przekształca krok nagrania z panelu Dyktafonu w ciąg tekstowy.
Funkcja
stringifyStepwygląda tak:(step: object) => {...}
-
kroku
obiekt
Etap rejestrowania interakcji użytkownika ze stroną. Powinien on być zgodny ze schematem kroku Puppeteer.
-
RecorderView
Reprezentuje widok utworzony przez rozszerzenie, który ma być umieszczony w panelu Rejestrator.
Właściwości
-
onHidden
Event<functionvoidvoid>
Uruchamiane, gdy widok jest ukryty.
Funkcja
onHidden.addListenerwygląda tak:(callback: function) => {...}
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
-
-
onShown
Event<functionvoidvoid>
Uruchamiane, gdy widok zostanie wyświetlony.
Funkcja
onShown.addListenerwygląda tak:(callback: function) => {...}
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
-
-
pokaż
pusty
Oznacza, że rozszerzenie chce wyświetlić ten widok w panelu Rejestrator.
Funkcja
showwygląda tak:() => {...}
Metody
createView()
chrome.devtools.recorder.createView(
title: string,
pagePath: string,
): RecorderView
Tworzy widok, który może obsługiwać odtwarzanie. Ten widok będzie osadzony w panelu Rejestrator.
Parametry
-
tytuł
ciąg znaków
Tytuł wyświetlany obok ikony rozszerzenia na pasku narzędzi Narzędzi deweloperskich.
-
pagePath
ciąg znaków
Ścieżka do strony HTML panelu względem katalogu rozszerzenia.
Zwroty
registerRecorderExtensionPlugin()
chrome.devtools.recorder.registerRecorderExtensionPlugin(
plugin: RecorderExtensionPlugin,
name: string,
mediaType: string,
): void
Rejestruje wtyczkę rozszerzenia Dyktafonu.
Parametry
-
wtyczka
Instancja implementująca interfejs RecorderExtensionPlugin.
-
nazwa
ciąg znaków
Nazwa wtyczki.
-
mediaType
ciąg znaków
Typ mediów treści tekstowych generowanych przez wtyczkę.