import { environment } from './../src/environments/environment' const windowSet = (page, name, value) => { page.evaluateOnNewDocument(` Object.defineProperty(window, '${name}', { get() { return '${value}' } }) `) } export const loginTest = async (page) => { await page.setViewport({width: 1200, height: 720}); await page.goto(process.env.PUPPETEER_HOST); // wait until page load await page.waitForSelector('.btn-ok') await page.waitForSelector('ion-app') const pathname = await page.evaluate( () => window.location.pathname) if (pathname == '/') { await page.evaluate( () => { let a: HTMLInputElement = document.querySelector('input[type="text"]') a.value = '' let b: HTMLInputElement = document.querySelector('input[type="password"') b.value = '' }) await page.type('input[type="text"]', environment.defaultuser); await page.type('input[type="password"]', environment.defaultuserpwd); // click and wait for navigation windowSet(page, 'cy', true) await Promise.all([ page.click('.btn-ok'), // page.waitForNavigation({ waitUntil: 'networkidle0' }), ]); await page.waitForSelector('.circle') // define code await page.click('.circle') await page.click('.circle') await page.click('.circle') // clear code await page.click('.cy-clear') // define code await page.click('.circle') await page.click('.circle') await page.click('.circle') await page.click('.circle') await page.waitForSelector('.div-profile') } } describe('Puppeteer tests', () => { beforeAll(async () => { // await page.goto(process.env.PUPPETEER_HOST) }) test('[table] Clear Code button and set pin', async () => { const pathname = await page.evaluate( () => window.location.pathname) if (pathname == '/') { // const browser = await puppeteer.launch({headless: false}); await page.setViewport({width: 1200, height: 720}); await page.goto(process.env.PUPPETEER_HOST); // wait until page load await page.waitForSelector('.btn-ok') await page.evaluate( () => { let a: HTMLInputElement = document.querySelector('input[type="text"]') a.value = '' let b: HTMLInputElement = document.querySelector('input[type="password"') b.value = '' }) await page.type('input[type="text"]', environment.defaultuser); await page.type('input[type="password"]', environment.defaultuserpwd); // click and wait for navigation await Promise.all([ page.click('.btn-ok'), // page.waitForNavigation({ waitUntil: 'networkidle0' }), ]); await page.waitForSelector('.circle') // define code await page.click('.circle') await page.click('.circle') await page.click('.circle') // clear code await page.click('.cy-clear') // define code await page.click('.circle') await page.click('.circle') await page.click('.circle') await page.click('.circle') await page.waitForSelector('.div-profile') await page.click('.div-profile') } expect(3 + 2).toBe(5); },30000); });