chrome.devtools.recorder

ब्यौरा

DevTools में रिकॉर्डर पैनल को पसंद के मुताबिक बनाने के लिए, chrome.devtools.recorder एपीआई का इस्तेमाल करें.

devtools.recorder API, झलक के तौर पर उपलब्ध एक सुविधा है. इसकी मदद से, Chrome DevTools में Recorder पैनल को बढ़ाया जा सकता है.

Developer Tools API इस्तेमाल करने के बारे में सामान्य जानकारी पाने के लिए, DevTools API की खास जानकारी देखें.

उपलब्धता

Chrome 105 या इसके बाद के वर्शन

कॉन्सेप्ट और इस्तेमाल करने का तरीका

एक्सपोर्ट करने की सुविधा को पसंद के मुताबिक बनाना

किसी एक्सटेंशन प्लगिन को रजिस्टर करने के लिए, registerRecorderExtensionPlugin फ़ंक्शन का इस्तेमाल करें. इस फ़ंक्शन के लिए, पैरामीटर के तौर पर प्लगिन इंस्टेंस, name, और mediaType की ज़रूरत होती है. प्लगिन इंस्टेंस को दो तरीके लागू करने होंगे: stringify और stringifyStep.

एक्सटेंशन से मिला name, Recorder पैनल में मौजूद एक्सपोर्ट करें मेन्यू में दिखता है.

एक्सपोर्ट के कॉन्टेक्स्ट के आधार पर, जब उपयोगकर्ता एक्सटेंशन की ओर से दिए गए एक्सपोर्ट विकल्प पर क्लिक करता है, तो Recorder पैनल इनमें से किसी एक फ़ंक्शन को शुरू करता है:

mediaType पैरामीटर की मदद से एक्सटेंशन, stringify और stringifyStep फ़ंक्शन का इस्तेमाल करके जनरेट किए जाने वाले आउटपुट के टाइप के बारे में बता सकता है. उदाहरण के लिए, application/javascript अगर नतीजा कोई JavaScript प्रोग्राम है.

रीप्ले बटन को पसंद के मुताबिक बनाना

Recorder में मौजूद 'दोबारा चलाएं' बटन को पसंद के मुताबिक बनाने के लिए, registerRecorderExtensionPlugin फ़ंक्शन का इस्तेमाल करें. कस्टम बनाने की सुविधा को लागू करने के लिए, प्लगिन को replay तरीके को लागू करना होगा. अगर इस तरीके का पता चलता है, तो Recorder में एक रीप्ले बटन दिखेगा. बटन पर क्लिक करने पर, मौजूदा रिकॉर्डिंग ऑब्जेक्ट को replay तरीके के पहले आर्ग्युमेंट के तौर पर पास किया जाएगा.

इस समय, एक्सटेंशन, रीप्ले को मैनेज करने के लिए RecorderView दिखा सकता है. इसके अलावा, रीप्ले के अनुरोध को प्रोसेस करने के लिए, अन्य एक्सटेंशन एपीआई का इस्तेमाल कर सकता है. नया RecorderView बनाने के लिए, chrome.devtools.recorder.createView को चालू करें.

उदाहरण

प्लगिन एक्सपोर्ट करना

यहां दिया गया कोड, एक एक्सटेंशन प्लगिन लागू करता है. यह 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'
);

Replay plugin

नीचे दिया गया कोड, एक एक्सटेंशन प्लगिन लागू करता है. यह एक डमी रिकॉर्डर व्यू बनाता है और रीप्ले के अनुरोध पर उसे दिखाता है:

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 पर एक्सटेंशन का पूरा उदाहरण देखें.

टाइप

RecorderExtensionPlugin

यह एक प्लगिन इंटरफ़ेस है. Recorder पैनल इसे Recorder पैनल को पसंद के मुताबिक बनाने के लिए शुरू करता है.

प्रॉपर्टी

  • फिर से चलाएं

    अमान्य

    Chrome 112 या इसके बाद का वर्शन

    इस कुकी की मदद से, एक्सटेंशन को फिर से चलाने की सुविधा को पसंद के मुताबिक लागू किया जा सकता है.

    replay फ़ंक्शन इस तरह दिखता है:

    (recording: object) => {...}

  • stringify

    अमान्य

    रिकॉर्डर पैनल के फ़ॉर्मैट में मौजूद रिकॉर्डिंग को स्ट्रिंग में बदलता है.

    stringify फ़ंक्शन इस तरह दिखता है:

    (recording: object) => {...}

  • stringifyStep

    अमान्य

    रिकॉर्डर पैनल के फ़ॉर्मैट में मौजूद रिकॉर्डिंग के किसी चरण को स्ट्रिंग में बदलता है.

    stringifyStep फ़ंक्शन इस तरह दिखता है:

    (step: object) => {...}

    • चरण

      ऑब्जेक्ट

      यह पेज पर उपयोगकर्ता के इंटरैक्शन की रिकॉर्डिंग का एक चरण है. यह Puppeteer के स्टेप स्कीमा से मेल खाना चाहिए.

RecorderView

Chrome 112 या इसके बाद का वर्शन

यह एक्सटेंशन की ओर से बनाया गया व्यू दिखाता है, जिसे रिकॉर्डर पैनल में एम्बेड किया जाता है.

प्रॉपर्टी

  • onHidden

    Event<functionvoidvoid>

    व्यू छिपाने पर ट्रिगर होता है.

    onHidden.addListener फ़ंक्शन इस तरह दिखता है:

    (callback: function) => {...}

    • कॉलबैक

      फ़ंक्शन

      callback पैरामीटर ऐसा दिखता है:

      () => void

  • onShown

    Event<functionvoidvoid>

    व्यू दिखने पर सक्रिय होता है.

    onShown.addListener फ़ंक्शन इस तरह दिखता है:

    (callback: function) => {...}

    • कॉलबैक

      फ़ंक्शन

      callback पैरामीटर ऐसा दिखता है:

      () => void

  • दिखाएं

    अमान्य

    इससे पता चलता है कि एक्सटेंशन, इस व्यू को Recorder पैनल में दिखाना चाहता है.

    show फ़ंक्शन इस तरह दिखता है:

    () => {...}

तरीके

createView()

Chrome 112 या इसके बाद का वर्शन
chrome.devtools.recorder.createView(
  title: string,
  pagePath: string,
)
: RecorderView

यह एक ऐसा व्यू बनाता है जो रीप्ले को हैंडल कर सकता है. यह व्यू, रिकॉर्डर पैनल में एम्बेड किया जाएगा.

पैरामीटर

  • title

    स्ट्रिंग

    यह टाइटल, डेवलपर टूलबार में एक्सटेंशन आइकॉन के बगल में दिखता है.

  • pagePath

    स्ट्रिंग

    एक्सटेंशन डायरेक्ट्री के हिसाब से, पैनल के एचटीएमएल पेज का पाथ.

रिटर्न

registerRecorderExtensionPlugin()

chrome.devtools.recorder.registerRecorderExtensionPlugin(
  plugin: RecorderExtensionPlugin,
  name: string,
  mediaType: string,
)
: void

यह कुकी, Recorder एक्सटेंशन प्लगिन को रजिस्टर करती है.

पैरामीटर

  • प्लगिन

    RecorderExtensionPlugin इंटरफ़ेस को लागू करने वाला इंस्टेंस.

  • नाम

    स्ट्रिंग

    प्लगिन का नाम.

  • mediaType

    स्ट्रिंग

    यह प्लगिन, स्ट्रिंग कॉन्टेंट का जो मीडिया टाइप जनरेट करता है.