How to call chrome.runtime.sendMessage from Puppeteer?

Viewed 480

I am trying to test my extension using puppeteer by calling a function using chrome.runtime.sendMessage from puppeteer.

Sadly this keeps returning TypeError: Cannot read property 'connect' of undefined which leads me to believe 'chrome' is not available in the puppeteer context.

Does anyone know how I can go about achieving this?

This is what I've come up with so far:

const puppeteer = require('puppeteer');

async function boot() {
    let browser = await puppeteer.launch({
        executablePath: 'C:\\Program Files\\Google\\Chromium\\chrome',
        headless: false, // extension are allowed only in head-full mode
        args: [
            `--disable-extensions-except=C:\\dev\\my_extn\\src`,
            `--load-extension=C:\\dev\\my_extn\\src`
          ]
    });

    const deploymentPage = await browser.newPage();
    await deploymentPage.goto(`https://google.com`);
    
    chrome.runtime.sendMessage("myextensionId", { test: 'message' });
};

boot();
0 Answers
Related