Mi reacción 🤯 al ver todo el tiempo de prueba y de código que se reduce con la implementación de los hooks.
Bienvenida al curso: ¿Qué vamos a aprender?
Automatización de pruebas con Puppeteer
Introducción a la Automatización WEB
¿Qué es el DOM?
Atributos y selectores
Introducción a Puppeteer
¿Qué es Puppeteer?
Configuración de nuestro ambiente
Conociendo Puppeteer
Abriendo y cerrando el navegador
Opciones de lanzamiento
Navegación con Puppeteer
Interactuando con los elementos
Esperar por los elementos
Esperando por funciones
Extrayendo información
Timeouts
Hooks
Conclusión del curso
Próximos pasos
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Javier Fuentes Mora
Aportes 6
Preguntas 1
Mi reacción 🤯 al ver todo el tiempo de prueba y de código que se reduce con la implementación de los hooks.
Aporte de codigo:
const puppeteer = require('puppeteer');
describe('Time outs', () => {
let browser;
let page;
beforeAll(async () => {
jest.setTimeout(1000);
browser = await puppeteer.launch({
headless: false,
defaultViewport: null
});
});
afterEach(async () => {
page = '';
await browser.close();
});
beforeEach(async () => {
page = await browser.newPage();
page.setDefaultTimeout(10000);
page.setDefaultNavigationTimeout(10000);
await page.goto('https://platzi.com/', {
waitUntil: 'networkidle2'
});
});
test('should selector', async () => {
const selector = await page.waitForSelector('#cms-landings > section > section.Hero > div > p.Hero-content-message');
const validate = await page.evaluate((selector) => selector.innerText, selector);
expect(validate).toBe('¿Qué quieres lograr?');
});
});
let browser
let page
// Antes de cada test
beforeEach(async() => {
browser = await puppeteer.launch({
headless: false,
defaultViewport: null,
})
page = await browser.newPage()
})
// Despues de cada test
afterEach(async()=>{
await browser.close()
})
// Antes de todos los tests
beforeAll(async() => {
browser = await puppeteer.launch({
headless: false,
defaultViewport: null,
})
page = await browser.newPage()
})
// Despues de todos los tests
afterAll(async()=>{
await browser.close()
})
Por algún motivo no me funcionaban los test, ya que aparecÃa el navegador muy rápido y estaba en blando
la solución que me funciono fue definirle un tiempo a beforeEach y afterEach
Espero les funcione
let browser
let page
let globalTime = 10000
beforeEach(async () => {
browser = await puppeteer.launch({
headless: false,
slowMo: 0,
devtools: false,
defaultViewport: null
})
page = await browser.newPage()
}, globalTime)
afterEach(async () => {
await browser.close();
}, globalTime)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?