Si llegan a obtener este error:
ProtocolError: Protocol error (Page.printToPDF): Printing is not available
deben poner el headless en true
Para quién es este curso?
¿Para quién es este curso?
Conceptos Avanzados
Emulación de dispositivos
Modo incógnito del navegador
Creando helpers de utilidad
Capturas de pantalla
Visual Testing
Generando PDFs
Geolocalización
Probando accesibilidad
Puppeteer con Firefox
Medir performance: page load
Medir performance: first contentful paint
Creando nuestro propio framework
Inicializando nuestro framework
Creando la Base Page
Page Object Model
Hacer un E2E
Agregar reporte
BDD
BDD y Gherkin
Configurando codeceptjs con Gherkin y BDD
Creando una Prueba con Gherkin
Creando un Scenario Outline
Generando reporte y agregando imágenes al reporte
CI/CD
Configurando Jenkins con nuestras pruebas y creando reportes
Conclusion del curso
Sigue aprendiendo
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Javier Fuentes Mora
Aportes 10
Preguntas 1
Si llegan a obtener este error:
ProtocolError: Protocol error (Page.printToPDF): Printing is not available
deben poner el headless en true
El tema de las comas si es mucho muy importante ya me comà 2 xd
const puppeteer = require('puppeteer');
describe('Capturas de pantalla', () => {
let browser;
let page;
beforeAll(async () => {
browser = await puppeteer.launch({
headless: true,
defaultViewport: null,
});
const context = await browser.createIncognitoBrowserContext();//MODO INCOGNITO comportamiento evadir modo incognito
page = await context.newPage()
//Aqui apuntamos la pantalla de la cual queremos apuntar
await page.goto('https://www.google.com/', { waitUntil: 'networkidle0' });
}, 10000);
afterAll(async () => {
await browser.close();
});
test('PDF de pantalla completa', async () => {
let pdfCSS =[]
pdfCSS.push('<style>')
pdfCSS.push('h1{ font-size:10px; margin-left:30px;}')
pdfCSS.push('</style>')
const css = pdfCSS.join('')
await page.pdf({
path:'./google.pdf',
format:'A4',
printBackground : true,
displayHeaderFooter: true,
headerTemplate: css + '<h1>' + 'Mira El Script que realice PDF con pupeteer' + '</h1>',
footerTemplate: css + '<h1> page <span class="pageNumber"></span> of <span class="totalPages"></span></h1>',
margin:{
top:'100px',
botton:'200px',
right:'30px',
left: '30px'
}
})
})
test('PDF de pantalla completa en modo landscape', async () => {
let pdfCSS =[]
pdfCSS.push('<style>')
pdfCSS.push('h1{ font-size:10px; margin-left:30px;}')
pdfCSS.push('</style>')
const css = pdfCSS.join('')
await page.pdf({
path:'./googleLandscape.pdf',
format:'A4',
printBackground : true,
displayHeaderFooter: true,
headerTemplate: css + '<h1>' + 'Mira El Script que realice PDF con pupeteer' + '</h1>',
footerTemplate: css + '<h1> page <span class="pageNumber"></span> of <span class="totalPages"></span></h1>',
margin:{
top:'100px',
botton:'200px',
right:'30px',
left: '30px'
},
lanscape: true
})
})
}, 350000)
Interesante clase, muy funcional la verdad
gracias x la explicacion es de mucha ayuda
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?