Açıklama
Geliştirici Araçları'ndaki Kaydedici panelini özelleştirmek için chrome.devtools.recorder API'sini kullanın.
devtools.recorder API, Chrome Geliştirici Araçları'ndaki Kaydedici panelini genişletmenize olanak tanıyan bir önizleme özelliğidir.
Geliştirici Araçları API'lerini kullanmaya ilişkin genel bir giriş için Geliştirici Araçları API'lerine genel bakış başlıklı makaleyi inceleyin.
Kullanılabilirlik
Kavramlar ve kullanım
Dışa aktarma özelliğini özelleştirme
Uzantı eklentisi kaydetmek için registerRecorderExtensionPlugin işlevini kullanın. Bu işlev için parametre olarak bir eklenti örneği, bir name ve bir mediaType gerekir. Eklenti örneği iki yöntem uygulamalıdır: stringify ve stringifyStep.
Uzantı tarafından sağlanan name, Kaydedici panelindeki Dışa aktar menüsünde gösterilir.
Dışa aktarma bağlamına bağlı olarak, kullanıcı uzantı tarafından sağlanan dışa aktarma seçeneğini tıkladığında Kaydedici paneli iki işlevden birini çağırır:
- Tüm kullanıcı işlemleri akışı kaydını alan
stringify stringifyStepTek bir kayıtlı adım alan
mediaType parametresi, uzantının stringify ve stringifyStep işlevleriyle oluşturduğu çıktı türünü belirtmesine olanak tanır. Örneğin, application/javascript sonuç bir JavaScript programıysa.
Tekrar oynat düğmesini özelleştirme
Kaydedici'deki tekrar oynatma düğmesini özelleştirmek için registerRecorderExtensionPlugin işlevini kullanın. Özelleştirmenin geçerli olması için eklentinin replay yöntemini uygulaması gerekir.
Yöntem algılanırsa Kaydedici'de bir tekrar oynatma düğmesi gösterilir.
Düğme tıklandığında, mevcut kayıt nesnesi replay yöntemine ilk bağımsız değişken olarak iletilir.
Bu noktada uzantı, tekrar oynatma işlemini gerçekleştirmek için RecorderView gösterebilir veya tekrar oynatma isteğini işlemek için diğer uzantı API'lerini kullanabilir. Yeni bir RecorderView oluşturmak için chrome.devtools.recorder.createView öğesini çağırın.
Örnekler
Dışa aktarma eklentisi
Aşağıdaki kod, JSON.stringify kullanarak kaydı dizeleştiren bir uzantı eklentisi uygular:
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'
);
Replay eklentisi
Aşağıdaki kod, sahte bir Kaydedici görünümü oluşturan ve yeniden oynatma isteği üzerine bu görünümü görüntüleyen bir uzantı eklentisi uygular:
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'
);
GitHub'da tam bir uzantı örneği bulabilirsiniz.
Türler
RecorderExtensionPlugin
Kaydedici panelini özelleştirmek için Kaydedici panelinin çağırdığı bir eklenti arayüzü.
Özellikler
-
yeniden oynat
geçersiz
Chrome 112 veya daha yeni bir sürümUzantının özel tekrar oynatma işlevi uygulamasına olanak tanır.
replayişlevi şu şekilde görünür:(recording: object) => {...}
-
kayıt
nesne
Kullanıcının sayfayla etkileşiminin kaydı. Bu, Puppeteer'ın kayıt şemasıyla eşleşmelidir.
-
-
stringify
geçersiz
Recorder paneli biçimindeki bir kaydı dizeye dönüştürür.
stringifyişlevi şu şekilde görünür:(recording: object) => {...}
-
kayıt
nesne
Kullanıcının sayfayla etkileşiminin kaydı. Bu, Puppeteer'ın kayıt şemasıyla eşleşmelidir.
-
-
stringifyStep
geçersiz
Kaydın bir adımını Kaydedici paneli biçiminden dizeye dönüştürür.
stringifyStepişlevi şu şekilde görünür:(step: object) => {...}
-
adım
nesne
Kullanıcının sayfayla etkileşiminin kaydedilmesindeki bir adım. Bu, Puppeteer'ın adım şemasıyla eşleşmelidir.
-
RecorderView
Kaydedici paneline yerleştirilecek, uzantı tarafından oluşturulan bir görünümü ifade eder.
Özellikler
-
onHidden
Event<functionvoidvoid>
Görünüm gizlendiğinde tetiklenir.
onHidden.addListenerişlevi şu şekilde görünür:(callback: function) => {...}
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
-
-
onShown
Event<functionvoidvoid>
Görünüm gösterildiğinde tetiklenir.
onShown.addListenerişlevi şu şekilde görünür:(callback: function) => {...}
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
-
-
göster
geçersiz
Uzantının bu görünümü Kaydedici panelinde göstermek istediğini belirtir.
showişlevi şu şekilde görünür:() => {...}
Yöntemler
createView()
chrome.devtools.recorder.createView(
title: string,
pagePath: string,
): RecorderView
Yeniden oynatmayı işleyebilecek bir görünüm oluşturur. Bu görünüm, Kaydedici panelinin içine yerleştirilir.
Parametreler
-
title
dize
Geliştirici Araçları araç çubuğunda uzantı simgesinin yanında gösterilen başlık.
-
pagePath
dize
Panelin HTML sayfasının uzantı dizinine göre yolu.
İadeler
registerRecorderExtensionPlugin()
chrome.devtools.recorder.registerRecorderExtensionPlugin(
plugin: RecorderExtensionPlugin,
name: string,
mediaType: string,
): void
Kaydedici uzantısı eklentisini kaydeder.
Parametreler
-
eklenti
RecorderExtensionPlugin arayüzünü uygulayan bir örnek.
-
ad
dize
Eklentinin adı.
-
mediaType
dize
Eklentinin ürettiği dize içeriğinin medya türü.