CursosEmpresasBlogLiveConfPrecios

Page Object Model

Clase 15 de 24 • Curso Avanzado de Automatización de Pruebas con Puppeteer

Clase anteriorSiguiente clase

Contenido del curso

Para quién es este curso?

  • 1
    ¿Para quién es este curso?

    ¿Para quién es este curso?

    04:07 min

Conceptos Avanzados

  • 2
    Emulación de dispositivos

    Emulación de dispositivos

    14:26 min
  • 3
    Modo incógnito del navegador

    Modo incógnito del navegador

    03:35 min
  • 4
    Creando helpers de utilidad

    Creando helpers de utilidad

    18:49 min
  • 5
    Capturas de pantalla

    Capturas de pantalla

    11:31 min
  • 6
    Visual Testing

    Visual Testing

    20:46 min
  • 7
    Generando PDFs

    Generando PDFs

    12:12 min
  • 8
    Geolocalización

    Geolocalización

    07:09 min
  • 9
    Probando accesibilidad

    Probando accesibilidad

    11:42 min
  • 10
    Puppeteer con Firefox

    Puppeteer con Firefox

    09:10 min
  • 11
    Medir performance: page load

    Medir performance: page load

    18:36 min
  • 12
    Medir performance: first contentful paint

    Medir performance: first contentful paint

    11:22 min

Creando nuestro propio framework

  • 13
    Inicializando nuestro framework

    Inicializando nuestro framework

    14:19 min
  • 14
    Creando la Base Page

    Creando la Base Page

    09:44 min
  • 15
    Page Object Model

    Page Object Model

    Viendo ahora
  • 16
    Hacer un E2E

    Hacer un E2E

    37:52 min
  • 17
    Agregar reporte

    Agregar reporte

    05:14 min

BDD

  • 18
    BDD y Gherkin

    BDD y Gherkin

    09:39 min
  • 19
    Configurando codeceptjs con Gherkin y BDD

    Configurando codeceptjs con Gherkin y BDD

    08:01 min
  • 20
    Creando una Prueba con Gherkin

    Creando una Prueba con Gherkin

    17:21 min
  • 21
    Creando un Scenario Outline

    Creando un Scenario Outline

    14:13 min
  • 22
    Generando reporte y agregando imágenes al reporte

    Generando reporte y agregando imágenes al reporte

    15:32 min

CI/CD

  • 23
    Configurando Jenkins con nuestras pruebas y creando reportes

    Configurando Jenkins con nuestras pruebas y creando reportes

    16:33 min

Conclusion del curso

  • 24
    Sigue aprendiendo

    Sigue aprendiendo

    02:07 min
  • Tomar el examen del curso
    • Manuel Arce Oyarzo

      Manuel Arce Oyarzo

      student•
      hace 4 años

      Acá les dejo el repositorio de esta clase.

      https://github.com/manuel-arce-oyarzo/jest-puppeteer.git

      Luis Ernesto Yepes Fernandez

      Luis Ernesto Yepes Fernandez

      student•
      hace 4 años
      this.navBar = "//div[@class='menu-wrapper']" this.inputEmail = "input[placeholder='Email']" this.inputPassword = "input[placeholder='Password']" this.submitButton = '(//button[1][@type="submit"])[1]' this.loginPageText = "//h2[contains(text(), 'Hi,')]"
      Ariel Gonzales

      Ariel Gonzales

      student•
      hace 3 años

      como podria configurar el proyecto para que javascript o el editor VSC reconozca automaticamente las funciones del objeto page??, porque note que no te da sugerencias una vez agregamos los hooks o usamos variables, y esto sucede con otras variables

      editor1.png
        Javier Fuentes Mora

        Javier Fuentes Mora

        teacher•
        hace 3 años

        Podrias usar typescript o usar un IDE como webstorm que te da eso aunque sea js

      Santiago Velandia Gallo

      Santiago Velandia Gallo

      student•
      hace 2 años

      Me sale esto y se abren un montón de navegadores al ejecutar la prueba, alguien sabe por que sucede ? en mi otra carpeta donde tengo lo del curso anterior no sucede D:

      (node:27316) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. Use emitter.setMaxListeners() to increase limit (Use node --trace-warnings ... to show where the warning was created) (node:27316) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit (node:27316) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. Use emitter.setMaxListeners() to increase limit (node:27316) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGHUP listeners added to [process]. Use emitter.setMaxListeners() to increase limit

      pltxi.png
        Santiago Velandia Gallo

        Santiago Velandia Gallo

        student•
        hace 2 años

        después de muchas batallas lo solucioné desinstalando la extensión de jest y volviendo a instalar :'v

        Luis Alberto Ramirez

        Luis Alberto Ramirez

        student•
        hace 2 años

        ¿Que extensiones desinstalaste? tengo el mismo problema y aún desinstalando sigo sin poder resolver el problema

      Alberto Alejandro Foinquinos Benitez

      Alberto Alejandro Foinquinos Benitez

      student•
      hace 3 años

      Como se habran dado cuenta pusieron un captcha en la pagina de https://phptravels.org/login

      No encontre la manera de pasarlo automaticamente pero para que no pierdan tiempo en eso, les sugiero que hagan un wait del tiempo que creen les va a tomar resolverlo, y luego durante la prueba, lo resuelven en vivo y la dejen seguir

      Screenshot_1.png
      carlos andres posada chica

      carlos andres posada chica

      student•
      hace 3 años
      problema1..png

      Tengo este problema y este es mi codigo, alguna sugerencia: import LoginPage from "../pages/LoginPage";

      let loginpage

      describe ('Iniciar sesion en la página', () =>{ jest.setTimeout(10000) beforeAll(async ()=>{ //Insancia de un objecto a partir de la clase LoginPage loginpage = new LoginPage() })

      it('Debe ir a la página',async ()=>{ await loginpage.visit() }) it('Debe llenar los campos del Login',async ()=>{ await loginpage.login('carlos.jest@udea.edu.co','a1b2c3d4') },10000) it('validar que este en el dashboard',async ()=>{ await loginpage.validatelogin() },10000)

      })

        MANUEL ALEJANDRO CUELLAR GUARIN

        MANUEL ALEJANDRO CUELLAR GUARIN

        student•
        hace 3 años

        A mí me pasa igual

      Martín González

      Martín González

      student•
      hace 4 años

      Es posible que estas credenciales ya no sean validas? ('user@phptravels.com', 'demouser')

        Javier Fuentes Mora

        Javier Fuentes Mora

        teacher•
        hace 3 años

        siempre puedes checar en su pagina web https://phptravels.com/demo/

      Luis Ernesto Yepes Fernandez

      Luis Ernesto Yepes Fernandez

      student•
      hace 4 años

      No entendí muy bien como hacer tu propio Xpath para cada elemento. Podría alguien explicar mejor? Gracias

        Javier Fuentes Mora

        Javier Fuentes Mora

        teacher•
        hace 4 años

        creo que lo entendiste muy bien después , por tu otro comentario , muy bien hecho :D

      David steven Abril Pulecio

      David steven Abril Pulecio

      student•
      hace un año

      Les dejo un repositorio actualizado:

      David101111101/Puppeteer-Framework

      Mario Alexander Vargas Celis

      Mario Alexander Vargas Celis

      student•
      hace 2 años
      import LoginPage from "../pages/LoginPage"; let loginPage; describe("Iniciar sesión en la página", () => { beforeAll(async () => { loginPage = new LoginPage(); await loginPage.visit(); }, 10000); it("Debería ir a la página", async () => { }, 20000); it("Debería llenar los campos", async () => { await loginPage.login("wajav34577@jahsec.com", "123456789"); }, 20000); /*it("Validar que esté en el dashboard", async () => { await loginPage.validateLogin(); }, 30000);*/ }); ```import LoginPage from "../pages/LoginPage"; let loginPage; describe("Iniciar sesión en la página", () => {     beforeAll(async () => {        loginPage = new LoginPage();        await loginPage.visit();     }, 10000);      it("Debería ir a la página", async () => {         }, 20000);     it("Debería llenar los campos", async () => {        await loginPage.login("wajav34577@jahsec.com", "123456789");    }, 20000);     /\*it("Validar que esté en el dashboard", async () => {        await loginPage.validateLogin();    }, 30000);\*/ });
      Hilda Jhoana Chicaiza Suntasig

      Hilda Jhoana Chicaiza Suntasig

      student•
      hace 2 años

      tengo el siguiente error de sintaxis, alguien me podria ayudar porfavor

      y pase de desplegar mas de 10 ventanas de chromium a que no se desplegue ninguna...

      Fernanda Vieira Jófili

      Fernanda Vieira Jófili

      student•
      hace 3 años

      Si ya no les funciona el link de la página de pruebas, aquí tienen una opción: https://demo.testim.io/

      CRISTIAN DAVID ARENAS GOMEZ

      CRISTIAN DAVID ARENAS GOMEZ

      student•
      hace 3 años

      https://phptravels.org/login

      Irving Juárez

      Irving Juárez

      student•
      hace 3 años

      Si a ustedes (como a mí) no les salen los tests, les recomiendo que le pongan la configuracion de slowMo, ya que si va muy rapido, no puede hacer login y se queda en la misma pagina, en lugar de ir al dashboard

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads