MCPcopy
hub / github.com/codeceptjs/CodeceptJS / _setPage

Method _setPage

lib/helper/Playwright.js:1070–1111  ·  view source on GitHub ↗

* Set current page * @param {object} page page to set

(page)

Source from the content-addressed store, hash-verified

1068 * @param {object} page page to set
1069 */
1070 async _setPage(page) {
1071 // Clean up previous page event listeners
1072 if (this.page && this.page !== page) {
1073 try {
1074 this.page.removeAllListeners('crash')
1075 this.page.removeAllListeners('dialog')
1076 this.page.removeAllListeners('load')
1077 this.page.removeAllListeners('console')
1078 this.page.removeAllListeners('requestfinished')
1079 } catch (e) {
1080 console.warn('Warning cleaning previous page listeners:', e.message)
1081 }
1082 }
1083
1084 page = await page
1085 this._addPopupListener(page)
1086 this.page = page
1087 if (!page) return
1088
1089 try {
1090 this.browserContext.setDefaultTimeout(0)
1091 page.setDefaultNavigationTimeout(this.options.getPageTimeout)
1092 page.setDefaultTimeout(this.options.timeout)
1093
1094 page.on('crash', async () => {
1095 console.log('ERROR: Page has crashed, closing page!')
1096 try {
1097 await page.close()
1098 } catch (e) {
1099 console.warn('Warning during crashed page cleanup:', e.message)
1100 }
1101 })
1102
1103 this.context = await this.page
1104 this.contextLocator = null
1105 await page.bringToFront()
1106 } catch (e) {
1107 console.warn('Warning during page setup:', e.message)
1108 this.context = await this.page
1109 this.contextLocator = null
1110 }
1111 }
1112
1113 /**
1114 * Add the 'dialog' event listener to a page

Callers 9

_beforeMethod · 0.95
_sessionMethod · 0.95
_createContextPageMethod · 0.95
_stopBrowserMethod · 0.95
amOnPageMethod · 0.95
switchToNextTabMethod · 0.95
switchToPreviousTabMethod · 0.95
openNewTabMethod · 0.95
refreshContextSessionFunction · 0.45

Calls 2

_addPopupListenerMethod · 0.95
logMethod · 0.80

Tested by

no test coverage detected