chrome.devtools.recorder

תיאור

משתמשים ב-chrome.devtools.recorder API כדי להתאים אישית את החלונית Recorder בכלי הפיתוח.

devtools.recorder API הוא תכונת תצוגה מקדימה שמאפשרת להרחיב את החלונית Recorder בכלי הפיתוח ל-Chrome.

במאמר סיכום של ממשקי DevTools API יש מבוא כללי לשימוש בממשקי API של כלים למפתחים.

זמינות

Chrome 105 ואילך

מושגים ושימוש

התאמה אישית של תכונת הייצוא

כדי לרשום תוסף של הרחבה, משתמשים בפונקציה registerRecorderExtensionPlugin. הפונקציה הזו דורשת מופע של פלאגין, name ו-mediaType כפרמטרים. מופע הפלאגין צריך להטמיע שתי שיטות: stringify ו-stringifyStep.

האפשרות name שמופיעה בתפריט ייצוא בחלונית כלי ההקלטה.

בהתאם להקשר של הייצוא, כשהמשתמש לוחץ על אפשרות הייצוא שמופיעה בתוסף, החלונית Recorder מפעילה אחת משתי הפונקציות:

הפרמטר mediaType מאפשר לתוסף לציין את סוג הפלט שהוא יוצר באמצעות הפונקציות stringify ו-stringifyStep. לדוגמה, application/javascript אם התוצאה היא תוכנית JavaScript.

התאמה אישית של לחצן ההפעלה החוזרת

כדי להתאים אישית את לחצן ההפעלה מחדש במכשיר ההקלטה, משתמשים בפונקציה registerRecorderExtensionPlugin. כדי שההתאמה האישית תפעל, צריך להטמיע בפלאגין את השיטה replay. אם השיטה מזוהה, מופיע לחצן הפעלה חוזרת בכלי ההקלטה. כשלוחצים על הכפתור, אובייקט ההקלטה הנוכחי מועבר כארגומנט הראשון לשיטה replay.

בשלב הזה, התוסף יכול להציג RecorderView כדי לטפל בהפעלה מחדש או להשתמש בממשקי API אחרים של התוסף כדי לעבד את בקשת ההפעלה מחדש. כדי ליצור RecorderView חדש, מפעילים את chrome.devtools.recorder.createView.

דוגמאות

Export plugin

הקוד הבא מטמיע תוסף הרחבה שממיר הקלטה למחרוזת באמצעות 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'
);

פלאגין הפעלה מחדש

הקוד הבא מטמיע תוסף הרחבה שיוצר תצוגה פיקטיבית של כלי ההקלטה ומציג אותה כשמתקבלת בקשה להפעלה חוזרת:

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.

מאפיינים

  • הפעלה מחדש

    void

    Chrome 112 ואילך

    מאפשרת לתוסף להטמיע פונקציונליות של הפעלה חוזרת בהתאמה אישית.

    הפונקציה replay נראית כך:

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

    • להקליט את

      אובייקט

      הקלטה של האינטראקציה של המשתמש עם הדף. הפורמט צריך להיות זהה לפורמט של סכימת ההקלטה של Puppeteer.

  • string

    void

    הפונקציה ממירה הקלטה מפורמט החלונית של מכשיר ההקלטה למחרוזת.

    הפונקציה stringify נראית כך:

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

    • להקליט את

      אובייקט

      הקלטה של האינטראקציה של המשתמש עם הדף. הפורמט צריך להיות זהה לפורמט של סכימת ההקלטה של Puppeteer.

  • stringifyStep

    void

    הפונקציה ממירה שלב בהקלטה מפורמט החלונית של מכשיר ההקלטה למחרוזת.

    הפונקציה stringifyStep נראית כך:

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

    • שלב

      אובייקט

      שלב בהקלטה של אינטראקציה של משתמש עם הדף. הפורמט צריך להיות זהה לפורמט של סכימת השלבים של Puppeteer.

RecorderView

Chrome 112 ואילך

מייצג תצוגה שנוצרה על ידי תוסף להטמעה בחלונית של כלי ההקלטה.

מאפיינים

  • onHidden

    Event<functionvoidvoid>

    מופעל כשהתצוגה מוסתרת.

    הפונקציה onHidden.addListener נראית כך:

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

    • callback

      פונקציה

      הפרמטר callback נראה כך:

      () => void

  • onShown

    Event<functionvoidvoid>

    מופעל כשהתצוגה מוצגת.

    הפונקציה onShown.addListener נראית כך:

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

    • callback

      פונקציה

      הפרמטר callback נראה כך:

      () => void

  • הצג

    void

    אינדיקציה לכך שהתוסף רוצה להציג את התצוגה הזו בחלונית Recorder.

    הפונקציה show נראית כך:

    () => {...}

Methods

createView()

Chrome 112 ואילך
chrome.devtools.recorder.createView(
  title: string,
  pagePath: string,
)
: RecorderView

יוצר תצוגה שיכולה לטפל בהפעלה מחדש. התצוגה הזו תוטמע בחלונית 'הקלטה'.

פרמטרים

  • title

    מחרוזת

    הכותרת שמוצגת לצד סמל התוסף בסרגל הכלים של כלי הפיתוח.

  • pagePath

    מחרוזת

    הנתיב של דף ה-HTML של החלונית ביחס לספריית התוסף.

החזרות

registerRecorderExtensionPlugin()

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

רישום של תוסף למכשיר ההקלטה.

פרמטרים

  • מופע שמטמיע את הממשק RecorderExtensionPlugin.

  • שם

    מחרוזת

    שם הפלאגין.

  • mediaType

    מחרוזת

    סוג המדיה של תוכן המחרוזת שהתוסף יוצר.