const puppeteer = require('puppeteer');
let browsers = [];
async function openBrowsers(count, url) {
const browser = await puppeteer.launch({ headless: 'new' });
browsers.push(browser);
for (let i = 0; i < count; i++) {
const page = await browser.newPage();
page.on('console', (msg) => {
const text = msg.text();
if (text !== 'JSHandle@object') {
console.log(` [browser:${i}] ${msg.type()}: ${text}`);
}
});
page.on('pageerror', (err) => console.error(` [browser:${i}!] ${err.message}`));
await page.goto(url);
console.log(` Browser tab ${i} open at ${url}`);
}
}
async function cleanup() {
if (browsers.length === 0) return;
await Promise.all(browsers.map((b) => b.close()));
browsers = [];
console.log(' All browsers closed');
}
module.exports = { openBrowsers, cleanup };