fix: add browser relaunch logic to Cucumber hooks

- Add error handling for browser context creation
- Auto-relaunch browser if context creation fails
- Add better error logging
This commit is contained in:
2026-04-25 21:51:15 -07:00
parent 5519ed1de0
commit 73f5905990
2 changed files with 61 additions and 3 deletions
+25 -3
View File
@@ -73,9 +73,31 @@ AfterAll(async function () {
* Before each scenario: Create new page context
*/
Before(async function () {
// Create new context and page
world.context = await browser.newContext();
world.page = await world.context.newPage();
try {
// Create new context and page
world.context = await browser.newContext();
world.page = await world.context.newPage();
} catch (error) {
console.error('❌ Failed to create new browser context:', error);
console.log('🌍 Attempting to relaunch browser...');
// Try to relaunch browser
try {
await browser.close();
} catch (e) {
// Ignore close errors
}
// Relaunch browser
browser = await chromium.launch({
headless: process.env.CI ? true : false,
});
// Retry creating context
world.context = await browser.newContext();
world.page = await world.context.newPage();
console.log('✅ Browser relaunched successfully');
}
// Log console messages for debugging
world.page.on('console', msg => {