@copperjs/copper
Version:
A lightweight chromium grid
87 lines • 3.71 kB
JavaScript
;
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