UNPKG

@copperjs/copper

Version:
87 lines 3.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const puppeteer = require("puppeteer"); const chai_1 = require("chai"); const server_1 = require("../src/node/server"); const server_2 = require("../src/grid/server"); const config_1 = require("../src/standalone/config"); const config_2 = require("../src/node/config"); const server_3 = require("../src/standalone/server"); describe('puppeteer', () => { describe('standalone', () => { const PORT = 9115; let server; let browser; let page; before(async () => { config_1.copperConfig.value = { defaultSessionOptions: { chromeFlags: ['--headless', '--disable-gpu'] } }; server = new server_3.StandaloneServer({ port: PORT, logLevel: 'silent' }); await server.listen(); browser = await puppeteer.connect({ browserWSEndpoint: `ws://localhost:${PORT}` }); page = (await browser.pages())[0]; }); it('has title "Copper e2e"', async () => { await page.goto('https://output.jsbin.com/yubehub/3', { waitUntil: 'networkidle0' }); const title = await page.title(); chai_1.expect(title).to.equal('Copper e2e'); }); it('Simple type & click', async () => { const input = (await page.$('input')); await input.type('copper'); const button = (await page.$('button')); await button.click(); const text = await page.$('#span'); chai_1.expect(await (text === null || text === void 0 ? void 0 : text.evaluate((el) => el.innerHTML))).to.equal('copper'); }); after(async () => { config_1.copperConfig.reset(); await browser.close(); await server.stop(); }); }); describe('grid', () => { const NODE_PORT = 9116; const HUB_PORT = 9115; let node; let hub; let browser; let page; before(async () => { config_1.copperConfig.value = { defaultSessionOptions: { chromeFlags: ['--headless', '--disable-gpu'] } }; config_2.nodeConfig.value = { hubHost: 'localhost', hubPort: HUB_PORT, port: NODE_PORT, maxSession: 1, nodePolling: 5000, }; hub = new server_2.HubServer({ port: HUB_PORT, logLevel: 'silent' }); node = new server_1.NodeServer({ port: NODE_PORT, logLevel: 'silent' }); await hub.listen(); await node.listen(); browser = await puppeteer.connect({ browserWSEndpoint: `ws://localhost:${HUB_PORT}` }); page = (await browser.pages())[0]; }); it('has title "Copper e2e"', async () => { await page.goto('https://output.jsbin.com/yubehub/3', { waitUntil: 'networkidle0' }); const title = await page.title(); chai_1.expect(title).to.equal('Copper e2e'); }); it('Simple type & click', async () => { const input = (await page.$('input')); await input.type('copper'); const button = (await page.$('button')); await button.click(); const text = await page.$('#span'); chai_1.expect(await (text === null || text === void 0 ? void 0 : text.evaluate((el) => el.innerHTML))).to.equal('copper'); }); after(async () => { config_1.copperConfig.reset(); config_2.nodeConfig.reset(); await browser.close(); await node.stop(); await hub.stop(); }); }); }); //# sourceMappingURL=puppeteer.test.js.map