* {{> saveScreenshot }}
(fileName, fullPage)
| 2217 | * {{> saveScreenshot }} |
| 2218 | */ |
| 2219 | async saveScreenshot(fileName, fullPage) { |
| 2220 | const fullPageOption = fullPage || this.options.fullPageScreenshots |
| 2221 | let outputFile = screenshotOutputFolder(fileName) |
| 2222 | |
| 2223 | this.debug(`Screenshot is saving to ${outputFile}`) |
| 2224 | |
| 2225 | // Safety check: ensure page exists and is not closed |
| 2226 | if (!this.page || this.page.isClosed?.()) { |
| 2227 | this.debugSection('Screenshot', 'Page is not available, skipping screenshot') |
| 2228 | return |
| 2229 | } |
| 2230 | |
| 2231 | await this.page.screenshot({ |
| 2232 | path: outputFile, |
| 2233 | fullPage: fullPageOption, |
| 2234 | type: 'png', |
| 2235 | }) |
| 2236 | |
| 2237 | if (this.activeSessionName) { |
| 2238 | for (const sessionName in this.sessionPages) { |
| 2239 | const activeSessionPage = this.sessionPages[sessionName] |
| 2240 | outputFile = screenshotOutputFolder(`${sessionName}_${fileName}`) |
| 2241 | |
| 2242 | this.debug(`${sessionName} - Screenshot is saving to ${outputFile}`) |
| 2243 | |
| 2244 | if (activeSessionPage && !activeSessionPage.isClosed?.()) { |
| 2245 | await activeSessionPage.screenshot({ |
| 2246 | path: outputFile, |
| 2247 | fullPage: fullPageOption, |
| 2248 | type: 'png', |
| 2249 | }) |
| 2250 | } |
| 2251 | } |
| 2252 | } |
| 2253 | } |
| 2254 | |
| 2255 | async _failed(test) { |
| 2256 | await this._withinEnd() |
nothing calls this directly
no test coverage detected