// Emular los dispositivos de forma manualconst puppeteer =require('puppeteer')describe('Emulando dispositivos de forma manual',()=>{
let browser
let page
beforeAll(async ()=>{ browser = await puppeteer.launch({ headless:false, defaultViewport:null,}); page = await browser.newPage(); await page.goto('https://platzi.com',{ waitUntil: 'networkidle0' });},10000);afterAll(async ()=>{ await browser.close();});test('Emular dispositivo móvil', async ()=>{ await page.emulate({ name: 'Mi dispositivo', viewport:{ width:375, height:667, deviceScaleFactor:2,//propiedad para escalar el dispositivo isMobile:true, hasTouch:true,//tactil ? isLandscape:false//si está de forma horizontal}, userAgent: 'Mozilla/5.0(Linux;Android10; SAMSUNG SM-J600G)AppleWebKit/537.36(KHTML, like Gecko)SamsungBrowser/10.1Chrome/71.0.3578.99MobileSafari/537.36',}) await newPromise((resolve)=>setTimeout(resolve,3000));},350000)//Emulando los sitios como si fuesen de escritorio/test('Emulando un sitio de escritorio', async ()=>{ await page.setViewport({ width:1500, height:800,}) await newPromise((resolve)=>setTimeout(resolve,3000));},3500000)//Emulando tablets de forma verticaltest('Emulando una tablet en modo vertical', async ()=>{const{KnownDevices}=require('puppeteer');const tablet =KnownDevices['iPad Pro'] await page.emulate(tablet) await newPromise((resolve)=>setTimeout(resolve,3000));},3500000)test('Emulando un en una tablet en modo landscape -(horizontal)', async ()=>{const{KnownDevices}=require('puppeteer');const tablet =KnownDevices['iPad landscape'] await page.emulate(tablet) await newPromise((resolve)=>setTimeout(resolve,3000));},3500000)//Emulando un celulartest('Emulando un sitio en un celular', async ()=>{const{KnownDevices}=require('puppeteer');const iphone =KnownDevices['iPhone X'] await page.emulate(iphone) await newPromise((resolve)=>setTimeout(resolve,2000));//}, 3500000)})})
Gracias por el aporte
Comparto mi código con la configuración de mi celular.
const puppeteer =require('puppeteer');describe('Emular dispositivos',()=>{let browser;let page;beforeAll(async()=>{ browser =await puppeteer.launch({headless:false,defaultViewport:null,}); page =await browser.newPage();await page.goto('https://platzi.com',{waitUntil:'networkidle0'});},20000);afterAll(async()=>{await browser.close();});test('Emular dispositivo móvil',async()=>{await page.emulate({name:'Galaxy J6',viewport:{width:360,height:740,deviceScaleFactor:4,isMobile:true,hasTouch:true,isLandscape:false,},userAgent:'Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-J600G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/10.1 Chrome/71.0.3578.99 Mobile Safari/537.36',});await page.waitForTimeout(3000);},40000);//Emular de forma horizontaltest('Emular dispositivo móvil horizontal',async()=>{await page.emulate({name:'Galaxy J6',viewport:{width:740,height:360,deviceScaleFactor:4,isMobile:true,hasTouch:true,isLandscape:true,},userAgent:'Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-J600G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/10.1 Chrome/71.0.3578.99 Mobile Safari/537.36',});await page.waitForTimeout(3000);},40000);});
👋 Hola, la lista de dispositivos al parecer ya no está en git hub, así que les comparto la que está en la documentación oficial de puppeteer https://pptr.dev/next/api/puppeteer.knowndevices , salu✌.
Se rompió el link de la lista de dispositivos
Te aparece un intellisense que te enseña todos los devices disponibles en el vscode
El repositorio no funciona
que parte no funciona? hay una rama por cada clase , estas en la rama correcta?
A alguno le esta dando este error tengo todo el dia tratando de solucionarlo y no doy con el modo de arreglarlo
parece ser qu eno configuraste bien babel , y no te permite ese tipo de imports intenta con el require
CODIGO DE LA CLASE 👌
// Emular los dispositivos de forma manualtest('Emulando dispositivos de forma manual',async()=>{await page.emulate({name:"Dispositivo",viewport:{width:375,height:667,deviceScaleFactor:2,isMobile:true,hasTouch:true,isLandscape:false},userAgent:'Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-J600G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/10.1 Chrome/71.0.3578.99 Mobile Safari/537.36',})awaitnewPromise((resolve)=>setTimeout(resolve,2000));},3500000)//Emulando los sitios comos si fuesen de escritoriotest('Emulando un sitio de escritorio',async()=>{await page.setViewport({width:1500,height:800,})awaitnewPromise((resolve)=>setTimeout(resolve,2000));},3500000)//Emulando tablets de forma horizontaltest('Emulando un en una tablet en modo horizontal',async()=>{const tablet = puppeteer.devices['iPad landscape']await page.emulate(tablet)awaitnewPromise((resolve)=>setTimeout(resolve,2000));},3500000)//Emulando un celulartest('Emulando un sitio en un celular',async()=>{const iphone = puppeteer.devices['iPhone X']await page.emulate(iphone)awaitnewPromise((resolve)=>setTimeout(resolve,2000));},3500000)})