Skip to content

Instantly share code, notes, and snippets.

@aslushnikov
Created August 10, 2020 17:51
Show Gist options
  • Save aslushnikov/1d34c8e61888035692a4ceb1ddb50cf0 to your computer and use it in GitHub Desktop.
Save aslushnikov/1d34c8e61888035692a4ceb1ddb50cf0 to your computer and use it in GitHub Desktop.
> [email protected] ftest /Users/aslushnikov/prog/playwright
> cross-env BROWSER=firefox jest "page-wait-for-navigation.spec.js"
console.error
Using executable at /Users/aslushnikov/firefox/obj-build-playwright/dist/Nightly.app/Contents/MacOS/firefox
73 | executablePath = process.env.WKPATH;
74 | if (executablePath)
> 75 | console.error(`Using executable at ${executablePath}`);
| ^
76 | await test({
77 | handleSIGINT: false,
78 | slowMo: valueFromEnv('SLOW_MO', 0),
at Fixture.fn (harness/fixtures.js:75:15)
at Fixture.setup (harness/fixturePool.js:46:35)
at FixturePool.setupFixture (harness/fixturePool.js:89:19)
at Fixture.setup (harness/fixturePool.js:34:23)
at FixturePool.setupFixture (harness/fixturePool.js:89:5)
at Fixture.setup (harness/fixturePool.js:34:7)
at FixturePool.setupFixture (harness/fixturePool.js:89:5)
at Fixture.setup (harness/fixturePool.js:34:7)
at FixturePool.setupFixture (harness/fixturePool.js:89:5)
at FixturePool.resolveParametersAndRun (harness/fixturePool.js:103:7)
at Object.event.test.fn (jest/playwrightEnvironment.js:168:11)
2020-08-10T17:51:13.184Z pw:protocol SEND ► {"id":1,"method":"Browser.enable","params":{"attachToDefaultContext":false}} []
2020-08-10T17:51:13.186Z pw:protocol SEND ► {"id":2,"method":"Browser.getInfo"} []
2020-08-10T17:51:13.188Z pw:protocol ◀ RECV {"id":1} []
2020-08-10T17:51:13.189Z pw:protocol ◀ RECV {"id":2,"result":{"version":"Firefox/79.0a1","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0"}} []
2020-08-10T17:51:13.190Z pw:protocol SEND ► {"id":3,"method":"Browser.createBrowserContext","params":{"removeOnDetach":true}} []
2020-08-10T17:51:13.191Z pw:protocol ◀ RECV {"id":3,"result":{"browserContextId":"5cd6ebe6-ac5c-ec4b-8355-462cfd7a0d9c"}} []
2020-08-10T17:51:13.192Z pw:protocol SEND ► {"id":4,"method":"Browser.setDownloadOptions","params":{"browserContextId":"5cd6ebe6-ac5c-ec4b-8355-462cfd7a0d9c","downloadOptions":{"behavior":"cancel","downloadsDir":"/var/folders/jh/4zbgy5rx4d7gkrrczcm8dyrm0000gn/T/playwright_downloads-PROz6R"}}} []
2020-08-10T17:51:13.193Z pw:protocol SEND ► {"id":5,"method":"Browser.setDefaultViewport","params":{"browserContextId":"5cd6ebe6-ac5c-ec4b-8355-462cfd7a0d9c","viewport":{"viewportSize":{"width":1280,"height":720},"deviceScaleFactor":1}}} []
2020-08-10T17:51:13.194Z pw:protocol ◀ RECV {"id":4} []
2020-08-10T17:51:13.194Z pw:protocol ◀ RECV {"id":5} []
2020-08-10T17:51:13.195Z pw:protocol SEND ► {"id":6,"method":"Browser.newPage","params":{"browserContextId":"5cd6ebe6-ac5c-ec4b-8355-462cfd7a0d9c"}} []
2020-08-10T17:51:14.001Z pw:protocol ◀ RECV {"method":"Browser.attachedToTarget","params":{"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542","targetInfo":{"targetId":"92838a0c-8fb9-004f-a9f0-b12594f2295e","type":"page","browserContextId":"5cd6ebe6-ac5c-ec4b-8355-462cfd7a0d9c"}}} []
2020-08-10T17:51:14.002Z pw:protocol SEND ► {"method":"Page.addScriptToEvaluateOnNewDocument","params":{"script":"","worldName":"__playwright_utility_world__"},"id":7,"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.189Z pw:protocol ◀ RECV {"id":6,"result":{"targetId":"92838a0c-8fb9-004f-a9f0-b12594f2295e"}} []
2020-08-10T17:51:14.197Z pw:protocol ◀ RECV {"method":"Page.frameAttached","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.198Z pw:protocol ◀ RECV {"method":"Page.navigationCommitted","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","url":"about:blank","name":""},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.199Z pw:api navigated to "about:blank" []
2020-08-10T17:51:14.199Z pw:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"executionContextId":"id-1","auxData":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":""}},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.200Z pw:protocol ◀ RECV {"method":"Page.navigationStarted","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","navigationId":"383f65c4-7dd7-bc42-8ed2-754386462bd2","url":"about:blank"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.201Z pw:protocol ◀ RECV {"method":"Runtime.executionContextDestroyed","params":{"executionContextId":"id-1"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.202Z pw:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"executionContextId":"id-2","auxData":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":""}},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.203Z pw:protocol ◀ RECV {"method":"Page.navigationCommitted","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","navigationId":"383f65c4-7dd7-bc42-8ed2-754386462bd2","url":"about:blank","name":""},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.204Z pw:api navigated to "about:blank" []
2020-08-10T17:51:14.204Z pw:protocol ◀ RECV {"method":"Page.ready","params":{},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.210Z pw:api => page.goto started
2020-08-10T17:51:14.210Z pw:api navigating to "http://localhost:8907/frames/one-frame.html", waiting until "load" []
2020-08-10T17:51:14.210Z pw:protocol SEND ► {"method":"Page.navigate","params":{"url":"http://localhost:8907/frames/one-frame.html","frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc"},"id":8,"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.211Z pw:protocol ◀ RECV {"method":"Page.eventFired","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":"DOMContentLoaded"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.211Z pw:protocol ◀ RECV {"method":"Page.eventFired","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":"load"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.228Z pw:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"executionContextId":"id-3","auxData":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":"__playwright_utility_world__"}},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.228Z pw:protocol ◀ RECV {"id":7,"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542","result":{"scriptId":"b906a520-5539-1245-958f-16d5b8e93eca"}} []
2020-08-10T17:51:14.240Z pw:protocol ◀ RECV {"method":"Page.navigationStarted","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","navigationId":"38250978738177","url":"http://localhost:8907/frames/one-frame.html"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.242Z pw:protocol ◀ RECV {"id":8,"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542","result":{"navigationId":"38250978738177","navigationURL":"http://localhost:8907/frames/one-frame.html"}} []
2020-08-10T17:51:14.266Z pw:protocol ◀ RECV {"method":"Network.requestWillBeSent","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","url":"http://localhost:8907/frames/one-frame.html","isIntercepted":false,"requestId":"38250978738177","headers":[{"name":"Host","value":"localhost:8907"},{"name":"User-Agent","value":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0"},{"name":"Accept","value":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"},{"name":"Accept-Language","value":"en-US,en;q=0.5"},{"name":"Accept-Encoding","value":"gzip, deflate"},{"name":"Connection","value":"keep-alive"},{"name":"Upgrade-Insecure-Requests","value":"1"},{"name":"Sec-Fetch-Dest","value":"document"},{"name":"Sec-Fetch-Mode","value":"navigate"},{"name":"Sec-Fetch-Site","value":"none"}],"method":"GET","navigationId":"38250978738177","cause":"TYPE_DOCUMENT","internalCause":"TYPE_DOCUMENT"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.281Z pw:protocol ◀ RECV {"method":"Network.responseReceived","params":{"requestId":"38250978738177","securityDetails":null,"fromCache":false,"headers":[{"name":"Cache-Control","value":"no-cache, no-store"},{"name":"Content-Type","value":"text/html; charset=utf-8"},{"name":"Date","value":"Mon, 10 Aug 2020 17:51:14 GMT"},{"name":"Connection","value":"keep-alive"},{"name":"Content-Length","value":"37"}],"remoteIPAddress":"::1","remotePort":8907,"status":200,"statusText":"OK"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.282Z pw:protocol ◀ RECV {"method":"Network.requestFinished","params":{"requestId":"38250978738177"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.391Z pw:protocol ◀ RECV {"method":"Runtime.executionContextDestroyed","params":{"executionContextId":"id-2"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.392Z pw:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"executionContextId":"id-4","auxData":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":""}},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.392Z pw:protocol ◀ RECV {"method":"Runtime.executionContextDestroyed","params":{"executionContextId":"id-3"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.392Z pw:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"executionContextId":"id-5","auxData":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":"__playwright_utility_world__"}},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.437Z pw:protocol ◀ RECV {"method":"Page.navigationCommitted","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","navigationId":"38250978738177","url":"http://localhost:8907/frames/one-frame.html","name":""},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.437Z pw:api navigated to "http://localhost:8907/frames/one-frame.html" []
2020-08-10T17:51:14.439Z pw:protocol ◀ RECV {"method":"Page.frameAttached","params":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","parentFrameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.439Z pw:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"executionContextId":"id-6","auxData":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","name":"__playwright_utility_world__"}},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.440Z pw:protocol ◀ RECV {"method":"Runtime.executionContextCreated","params":{"executionContextId":"id-7","auxData":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","name":""}},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.440Z pw:protocol ◀ RECV {"method":"Page.navigationStarted","params":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","navigationId":"38250978738178","url":"http://localhost:8907/frames/frame.html"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.441Z pw:protocol ◀ RECV {"method":"Page.eventFired","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":"DOMContentLoaded"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.491Z pw:protocol ◀ RECV {"method":"Network.requestWillBeSent","params":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","url":"http://localhost:8907/frames/frame.html","isIntercepted":false,"requestId":"38250978738178","headers":[{"name":"Host","value":"localhost:8907"},{"name":"User-Agent","value":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0"},{"name":"Accept","value":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"},{"name":"Accept-Language","value":"en-US,en;q=0.5"},{"name":"Accept-Encoding","value":"gzip, deflate"},{"name":"Referer","value":"http://localhost:8907/frames/one-frame.html"},{"name":"Connection","value":"keep-alive"},{"name":"Upgrade-Insecure-Requests","value":"1"},{"name":"Sec-Fetch-Dest","value":"iframe"},{"name":"Sec-Fetch-Mode","value":"navigate"},{"name":"Sec-Fetch-Site","value":"same-origin"},{"name":"Sec-Fetch-User","value":"?1"}],"method":"GET","navigationId":"38250978738178","cause":"TYPE_SUBDOCUMENT","internalCause":"TYPE_INTERNAL_IFRAME"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.492Z pw:protocol ◀ RECV {"method":"Network.requestWillBeSent","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","url":"http://localhost:8907/favicon.ico","isIntercepted":false,"requestId":"38250978738179","headers":[{"name":"Host","value":"localhost:8907"},{"name":"User-Agent","value":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0"},{"name":"Accept","value":"image/webp,*/*"},{"name":"Accept-Language","value":"en-US,en;q=0.5"},{"name":"Accept-Encoding","value":"gzip, deflate"},{"name":"Connection","value":"keep-alive"},{"name":"Sec-Fetch-Dest","value":"image"},{"name":"Sec-Fetch-Mode","value":"no-cors"},{"name":"Sec-Fetch-Site","value":"same-origin"}],"method":"GET","cause":"TYPE_IMAGE","internalCause":"TYPE_INTERNAL_IMAGE_FAVICON"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.494Z pw:protocol ◀ RECV {"method":"Network.responseReceived","params":{"requestId":"38250978738178","securityDetails":null,"fromCache":false,"headers":[{"name":"Cache-Control","value":"no-cache, no-store"},{"name":"Content-Type","value":"text/html; charset=utf-8"},{"name":"Date","value":"Mon, 10 Aug 2020 17:51:14 GMT"},{"name":"Connection","value":"keep-alive"},{"name":"Content-Length","value":"254"}],"remoteIPAddress":"::1","remotePort":8907,"status":200,"statusText":"OK"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.495Z pw:protocol ◀ RECV {"method":"Network.requestFinished","params":{"requestId":"38250978738178"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.496Z pw:protocol ◀ RECV {"method":"Network.responseReceived","params":{"requestId":"38250978738179","securityDetails":null,"fromCache":false,"headers":[{"name":"Cache-Control","value":"no-cache, no-store"},{"name":"Date","value":"Mon, 10 Aug 2020 17:51:14 GMT"},{"name":"Connection","value":"keep-alive"},{"name":"Content-Length","value":"74"}],"remoteIPAddress":"::1","remotePort":8907,"status":404,"statusText":"Not Found"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.496Z pw:protocol ◀ RECV {"method":"Network.requestFinished","params":{"requestId":"38250978738179"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.499Z pw:protocol ◀ RECV {"method":"Page.navigationCommitted","params":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","navigationId":"38250978738178","url":"http://localhost:8907/frames/frame.html","name":""},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.500Z pw:api navigated to "http://localhost:8907/frames/frame.html" []
2020-08-10T17:51:14.574Z pw:protocol SEND ► {"method":"Runtime.evaluate","params":{"expression":"new ((/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/injected/utilityScript.ts\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n !*** (webpack)/buildin/global.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"./src/common/utilityScriptSerializers.ts\":\n/*!************************************************!*\\\n !*** ./src/common/utilityScriptSerializers.ts ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n/**\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeAsCallArgument = exports.parseEvaluationResultValue = void 0;\nfunction isRegExp(obj) {\n return obj instanceof RegExp || Object.prototype.toString.call(obj) === '[object RegExp]';\n}\nfunction isDate(obj) {\n return obj instanceof Date || Object.prototype.toString.call(obj) === '[object Date]';\n}\nfunction isError(obj) {\n return obj instanceof Error || (obj && obj.__proto__ && obj.__proto__.name === 'Error');\n}\nfunction parseEvaluationResultValue(value, handles = []) {\n if (Object.is(value, undefined))\n return undefined;\n if (typeof value === 'object' && value) {\n if ('v' in value) {\n if (value.v === 'undefined')\n return undefined;\n if (value.v === 'null')\n return null;\n if (value.v === 'NaN')\n return NaN;\n if (value.v === 'Infinity')\n return Infinity;\n if (value.v === '-Infinity')\n return -Infinity;\n if (value.v === '-0')\n return -0;\n return undefined;\n }\n if ('d' in value)\n return new Date(value.d);\n if ('r' in value)\n return new RegExp(value.r.p, value.r.f);\n if ('a' in value)\n return value.a.map((a) => parseEvaluationResultValue(a, handles));\n if ('o' in value) {\n const result = {};\n for (const { k, v } of value.o)\n result[k] = parseEvaluationResultValue(v, handles);\n return result;\n }\n if ('h' in value)\n return handles[value.h];\n }\n return value;\n}\nexports.parseEvaluationResultValue = parseEvaluationResultValue;\nfunction serializeAsCallArgument(value, handleSerializer) {\n return serialize(value, handleSerializer, new Set());\n}\nexports.serializeAsCallArgument = serializeAsCallArgument;\nfunction serialize(value, handleSerializer, visited) {\n const result = handleSerializer(value);\n if ('fallThrough' in result)\n value = result.fallThrough;\n else\n return result;\n if (visited.has(value))\n throw new Error('Argument is a circular structure');\n if (typeof value === 'symbol')\n return { v: 'undefined' };\n if (Object.is(value, undefined))\n return { v: 'undefined' };\n if (Object.is(value, null))\n return { v: 'null' };\n if (Object.is(value, NaN))\n return { v: 'NaN' };\n if (Object.is(value, Infinity))\n return { v: 'Infinity' };\n if (Object.is(value, -Infinity))\n return { v: '-Infinity' };\n if (Object.is(value, -0))\n return { v: '-0' };\n if (typeof value === 'boolean')\n return value;\n if (typeof value === 'number')\n return value;\n if (typeof value === 'string')\n return value;\n if (isError(value)) {\n const error = value;\n if ('captureStackTrace' in global.Error) {\n // v8\n return error.stack || '';\n }\n return `${error.name}: ${error.message}\\n${error.stack}`;\n }\n if (isDate(value))\n return { d: value.toJSON() };\n if (isRegExp(value))\n return { r: { p: value.source, f: value.flags } };\n if (Array.isArray(value)) {\n const a = [];\n visited.add(value);\n for (let i = 0; i < value.length; ++i)\n a.push(serialize(value[i], handleSerializer, visited));\n visited.delete(value);\n return { a };\n }\n if (typeof value === 'object') {\n const o = [];\n visited.add(value);\n for (const name of Object.keys(value)) {\n let item;\n try {\n item = value[name];\n }\n catch (e) {\n continue; // native bindings will throw sometimes\n }\n if (name === 'toJSON' && typeof item === 'function')\n o.push({ k: name, v: { o: [] } });\n else\n o.push({ k: name, v: serialize(item, handleSerializer, visited) });\n }\n visited.delete(value);\n return { o };\n }\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./src/injected/utilityScript.ts\":\n/*!***************************************!*\\\n !*** ./src/injected/utilityScript.ts ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n/**\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utilityScriptSerializers_1 = __webpack_require__(/*! ../common/utilityScriptSerializers */ \"./src/common/utilityScriptSerializers.ts\");\nclass UtilityScript {\n evaluate(returnByValue, expression) {\n const result = global.eval(expression);\n return returnByValue ? this._promiseAwareJsonValueNoThrow(result) : result;\n }\n callFunction(returnByValue, functionText, argCount, ...argsAndHandles) {\n const args = argsAndHandles.slice(0, argCount);\n const handles = argsAndHandles.slice(argCount);\n const parameters = args.map(a => utilityScriptSerializers_1.parseEvaluationResultValue(a, handles));\n const func = global.eval('(' + functionText + ')');\n const result = func(...parameters);\n return returnByValue ? this._promiseAwareJsonValueNoThrow(result) : result;\n }\n jsonValue(returnByValue, value) {\n // Special handling of undefined to work-around multi-step returnByValue handling in WebKit.\n if (Object.is(value, undefined))\n return undefined;\n return utilityScriptSerializers_1.serializeAsCallArgument(value, (value) => ({ fallThrough: value }));\n }\n _promiseAwareJsonValueNoThrow(value) {\n const safeJson = (value) => {\n try {\n return this.jsonValue(true, value);\n }\n catch (e) {\n return undefined;\n }\n };\n if (value && typeof value === 'object' && typeof value.then === 'function') {\n return (async () => {\n // By using async function we ensure that return value is a native Promise,\n // and not some overriden Promise in the page.\n // This makes Firefox and WebKit debugging protocols recognize it as a Promise,\n // properly await and return the value.\n const promiseValue = await value;\n return safeJson(promiseValue);\n })();\n }\n return safeJson(value);\n }\n}\nexports.default = UtilityScript;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ })\n\n/******/ })).default)()\n//# sourceURL=__playwright_evaluation_script__0\n","returnByValue":false,"executionContextId":"id-7"},"id":9,"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.577Z pw:protocol ◀ RECV {"method":"Network.requestWillBeSent","params":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","url":"http://localhost:8907/frames/style.css","isIntercepted":false,"requestId":"38250978738180","headers":[{"name":"Host","value":"localhost:8907"},{"name":"User-Agent","value":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0"},{"name":"Accept","value":"text/css,*/*;q=0.1"},{"name":"Accept-Language","value":"en-US,en;q=0.5"},{"name":"Accept-Encoding","value":"gzip, deflate"},{"name":"Referer","value":"http://localhost:8907/frames/frame.html"},{"name":"Connection","value":"keep-alive"},{"name":"Sec-Fetch-Dest","value":"style"},{"name":"Sec-Fetch-Mode","value":"no-cors"},{"name":"Sec-Fetch-Site","value":"same-origin"}],"method":"GET","cause":"TYPE_STYLESHEET","internalCause":"TYPE_INTERNAL_STYLESHEET_PRELOAD"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.577Z pw:protocol ◀ RECV {"method":"Network.requestWillBeSent","params":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","url":"http://localhost:8907/frames/script.js","isIntercepted":false,"requestId":"38250978738181","headers":[{"name":"Host","value":"localhost:8907"},{"name":"User-Agent","value":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0"},{"name":"Accept","value":"*/*"},{"name":"Accept-Language","value":"en-US,en;q=0.5"},{"name":"Accept-Encoding","value":"gzip, deflate"},{"name":"Referer","value":"http://localhost:8907/frames/frame.html"},{"name":"Connection","value":"keep-alive"},{"name":"Sec-Fetch-Dest","value":"script"},{"name":"Sec-Fetch-Mode","value":"no-cors"},{"name":"Sec-Fetch-Site","value":"same-origin"}],"method":"GET","cause":"TYPE_SCRIPT","internalCause":"TYPE_INTERNAL_SCRIPT_PRELOAD"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.592Z pw:protocol ◀ RECV {"method":"Network.responseReceived","params":{"requestId":"38250978738181","securityDetails":null,"fromCache":false,"headers":[{"name":"Cache-Control","value":"no-cache, no-store"},{"name":"Content-Type","value":"application/javascript; charset=utf-8"},{"name":"Date","value":"Mon, 10 Aug 2020 17:51:14 GMT"},{"name":"Connection","value":"keep-alive"},{"name":"Content-Length","value":"24"}],"remoteIPAddress":"::1","remotePort":8907,"status":200,"statusText":"OK"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.592Z pw:protocol ◀ RECV {"method":"Network.requestFinished","params":{"requestId":"38250978738181"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.596Z pw:protocol ◀ RECV {"id":9,"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542","result":{"result":{"objectId":"id-8","type":"object"}}} []
2020-08-10T17:51:14.597Z pw:protocol SEND ► {"method":"Runtime.callFunction","params":{"functionDeclaration":"(utilityScript, ...args) => utilityScript.callFunction(...args)\n//# sourceURL=__playwright_evaluation_script__2\n","args":[{"objectId":"id-8"},{"value":true},{"value":"() => window.stop()\n//# sourceURL=__playwright_evaluation_script__1\n"},{"value":1},{"value":{"v":"undefined"}}],"returnByValue":true,"executionContextId":"id-7"},"id":10,"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.647Z pw:protocol ◀ RECV {"method":"Page.eventFired","params":{"frameId":"8a7b2ef9-8ccf-3c4d-9df5-b45c5f8ff4fc","name":"load"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.649Z pw:protocol ◀ RECV {"id":10,"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542","result":{"result":{}}} []
2020-08-10T17:51:14.649Z pw:protocol ◀ RECV {"method":"Page.eventFired","params":{"frameId":"6a02e54c-f8c6-e148-ae42-dd20d989621f","name":"DOMContentLoaded"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:14.649Z pw:api "domcontentloaded" event fired []
2020-08-10T17:51:14.662Z pw:protocol ◀ RECV {"method":"Network.requestFailed","params":{"requestId":"38250978738180","errorCode":"NS_BINDING_ABORTED"},"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542"} []
2020-08-10T17:51:15.161Z pw:api "networkidle" event fired []
2020-08-10T17:51:22.186Z pw:protocol SEND ► {"id":11,"method":"Browser.removeBrowserContext","params":{"browserContextId":"5cd6ebe6-ac5c-ec4b-8355-462cfd7a0d9c"}} []
2020-08-10T17:51:22.216Z pw:protocol ◀ RECV {"method":"Browser.detachedFromTarget","params":{"sessionId":"fedd54d4-cbaa-b246-8305-a286a46e6542","targetId":"92838a0c-8fb9-004f-a9f0-b12594f2295e"}} []
2020-08-10T17:51:22.254Z pw:api <= page.goto failed
2020-08-10T17:51:22.275Z pw:protocol ◀ RECV {"id":11} []
2020-08-10T17:51:22.375Z pw:protocol ◀ RECV {"id":-9999} []
FAIL test/page-wait-for-navigation.spec.js
✕ should work when subframe issues window.stop() (10669 ms)
○ skipped should work
○ skipped should respect timeout
○ skipped should work with both domcontentloaded and load
○ skipped should work with clicking on anchor links
○ skipped should work with clicking on links which do not commit navigation
○ skipped should work with history.pushState()
○ skipped should work with history.replaceState()
○ skipped should work with DOM history.back()/history.forward()
○ skipped should work with url match
○ skipped should work with url match for same document navigations
○ skipped should work for cross-process navigations
○ skipped should work on frame
○ skipped should fail when frame detaches
● should work when subframe issues window.stop()
thrown: "Exceeded timeout of 10000 ms for a test.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."
142 | });
143 |
> 144 | fit('should work when subframe issues window.stop()', async({page, server}) => {
| ^
145 | server.setRoute('/frames/style.css', (req, res) => {});
146 | const navigationPromise = page.goto(server.PREFIX + '/frames/one-frame.html');
147 | const p = server.waitForRequest('/frames/style.css');
at Object.<anonymous> (page-wait-for-navigation.spec.js:144:1)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 13 skipped, 14 total
Snapshots: 0 total
Time: 11.32 s, estimated 12 s
Ran all test suites matching /page-wait-for-navigation.spec.js/i.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] ftest: `cross-env BROWSER=firefox jest "page-wait-for-navigation.spec.js"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] ftest script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/aslushnikov/.npm/_logs/2020-08-10T17_51_22_990Z-debug.log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment