Protocol error (Runtime.callFunctionOn): Argument should belong to the same JavaScript world as target object

オープン
#4,460 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
30/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
javascript, node.js
領域
testing-qa

調査の方向性

CodeceptJS 3.6.4、Puppeteer 22.14.0、提供された設定、および I.waitForVisible/I.click シーケンスで失敗を再現します。以前のバージョンと動作を比較します。シーケンスが Runtime.callFunctionOn プロトコルエラーなしで完了すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

stale
What are you trying to achieve?

After update codeceptjs from version 3.6.0 to 3.6.4 and puppeteer from 20.2.0 to 22.14.0 I got error in my tests

What do you get instead?

     Protocol error (Runtime.callFunctionOn): Argument should belong to the same JavaScript world as target object
      at Callback.<instance_members_initializer> (node_modules/puppeteer/node_modules/puppeteer-core/src/common/CallbackRegistry.ts:114:12)
      at new Callback (node_modules/puppeteer/node_modules/puppeteer-core/src/common/CallbackRegistry.ts:119:3)
      at CallbackRegistry.create (node_modules/puppeteer/node_modules/puppeteer-core/src/common/CallbackRegistry.ts:27:22)

Provide test source code if related

  I.waitForVisible(this.locator);
  I.click(this.locator)
Details
  • CodeceptJS version: 3.6.4
  • NodeJS Version: 18.16.1
  • Operating System: mac os
  • puppeteer: 22.14.0
  • Configuration file:
exports.config = {
  fullPromiseBased: true,
  tests: testsPath,
  output: `${pwd}/output`,
  bootstrap: () => {
    global.codecept_dir = pwd;
  },
  name: 'xxx',
  helpers: {
    Puppeteer: {
      show: true,
      waitForNavigation: 'networkidle2',
      waitForTimeout: 30000,
      getPageTimeout: 30000,
      windowSize: '1000x1000',
      browser: 'chrome',
      chrome: {
        args: ['--no-sandbox',
          '--window-size=1920,1000',
          '--disable-setuid-sandbox',
          '--disable-web-security',
          // workaround for iframe in {headless: false} mode,
          // see details https://github.com/puppeteer/puppeteer/issues/4964
          '--disable-features=site-per-process',
        ],
        devtools: false,
      },
      manualStart: false,
      restart: false,
      keepCookies: true,
      keepBrowserState: false,
    },
    FileSystem: {},
  },
  plugins: {
    screenshotOnFail: {
      enabled: false,
    },
    retryTo: {
      enabled: true
    },
    tryTo: {
      enabled: true,
      require: ''
    }
  },
  require: ['ts-node/register'],
};
主要言語
JavaScript
スター
4.2k
フォーク
756
平均マージ
2日 9時間
マージ済み PR(30日)
16

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

codeceptjs/CodeceptJS のほかの issue

codeceptjs/CodeceptJS の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。