const puppeteer = require('puppeteer'); const openOpportunities = require('./automation/demoPaths/open-opportunity'); const addAccount = require('./automation/demoPaths/add-account'); const openContacts = require('./automation/demoPaths/open-contacts'); const trackEvent = require('./automation/demoPaths/track-event'); let instance = null; async function getBrowserInstance() { if (!instance) { instance = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'], }); } return instance; } (async () => { const browser = await getBrowserInstance(); const url = 'https://www.acmecrm.io/?account=Associated%20Strategies'; let pages = await browser.pages(); pages.forEach(async (page) => { await page.close(); }); try { await openOpportunities(browser, url); await addAccount(browser, url); await openContacts(browser, url); await trackEvent(browser, url); return process.exit(); } catch (error) { console.error(error); await browser.close(); return process.exit(error); } })();