Skip to content

Issue attaching to puppeteer. Emitter undefined. #505

@vegetablesalad

Description

@vegetablesalad

Using just the default example:

import { Polly } from '@pollyjs/core';
import PuppeteerAdapter from '@pollyjs/adapter-puppeteer';
import FSPersister from '@pollyjs/persister-fs';
import puppeteer from 'puppeteer';

Polly.register(PuppeteerAdapter);
Polly.register(FSPersister);

(async function main() {
  const browser = await puppeteer.launch({
    headless:false
  });

  const page = await browser.newPage();

  if(page){
    const polly = new Polly('My E2E Session', {
      adapters: ['puppeteer'],
      persister: 'fs',
      adapterOptions: {
        puppeteer: {
          page /* <--- crucial: pass the Puppeteer page here */
        }
      }
    });
  }

  // Now polly can properly hook into Puppeteer’s network
  // ...
})();

Error message:

/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:220
        const all = this.emitter.all;
                                 ^
TypeError: Cannot read properties of undefined (reading 'all')
    at CdpPage.apply (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:220:34)
    at PuppeteerAdapter._callListenersWith (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:237:12)
    at PuppeteerAdapter.attachToPageEvents (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:137:10)
    at PuppeteerAdapter.onConnect (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:39:10)
    at PuppeteerAdapter.connect (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter/src/index.js:48:12)
    at Polly.connectTo (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/core/src/polly.js:297:13)
    at forEach (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/core/src/polly.js:172:52)
    at Array.forEach (<anonymous>)
    at Polly.configure (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/core/src/polly.js:172:26)
    at new Polly (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/core/src/polly.js:47:10)

Versions:

    "puppeteer": "^24.3.0",
    "puppeteer-core": "^24.3.0",
    "@pollyjs/adapter-puppeteer": "^6.0.6",
    "@pollyjs/core": "^6.0.6",
    "@pollyjs/persister-fs": "^6.0.6",

I tried this in a completely fresh project. And even tried two example projects with similar integrations. Both have this issue!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions