import "jest"; import * as puppeteer from "puppeteer" var browser; async function itShould(directive, test: (page: puppeteer.Page) => any){ it(directive, async () => { let page = await browser.newPage(); await page.goto('file://' + __dirname + '/../.out/index.html'); await test(page); await page.close(); }); } beforeAll(async () => { if(process.env.CIRCLECI){ console.log("using CircleCI"); browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] }); }else{ browser = await puppeteer.launch({ headless: false }); } }); afterAll(() => { browser.close(); }); describe("simple test", async () => { itShould('should drag a new link', async (page) => { await page.mouse.move(410, 152); await page.mouse.down(); await page.mouse.move(610, 352); await page.mouse.up(); }); itShould('should drag a node', async (page) => { await page.mouse.move(390, 145); await page.mouse.down(); await page.mouse.move(300, 300); await page.mouse.up(); }); })