Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
¿Cómo puedo probar automáticamente Service Workers en modo fuera de línea? Probando con ciprés

Desarrollé algunos trabajadores de servicio, pero cuando el complejo de trabajadores de servicio (SW) aumenta, quiero crear una batería de pruebas para verificarlo regularmente.

Decidí usar Cypress en primera instancia. Pero lucho con algunos problemas que no me dejan manejar la situación.

  1. Modo offline. Cypress no tiene un caso de uso nativo, pero tiene una receta para Chrome (no importa si solo funciona en un navegador único)
  2. Cuando la receta del modo fuera de línea está activa, la búsqueda no funciona correctamente en la prueba.

Cypress Open Issues - Simula el modo fuera de línea #235

Receta del modo sin conexión de Cypress para Chrome

La misma web funciona en el navegador pero no en la prueba de ciprés.

código de prueba de ciprés

 it('can load if sw registered and try to visit', () => { cy.visit(folder) cy.contains('#sw-status', 'SW not registered') cy.get('#register').click().wait(1000) Cypress.goOffline() Cypress.assertOffline() cy.get('#fetch').click() cy.contains('#fetch-response', '200') })

Excepción atrapada en ciprés: no se pudo obtener Cypress - Recuperar no funciona. Excepción

Sin internet. Firefox puede usar la búsqueda Firefox Obtener Ok

Sin internet. Chrome puede usar la búsqueda Búsqueda de cromo Ok

Algo raro. Sin Internet, Chrome dijo que window.navigator.onLine es verdadero window.navigator.onLine difiere de Firefox/Chrome

¿Cualquier sugerencia? ¿Probar con otro marco de prueba?

Creo que la explicación del problema es completa y completa, pero si alguien piensa que podría ser útil, puedo compartir el código sin problemas.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Después de un tiempo hice una búsqueda más profunda en los temas de ciprés.

Encontré un comentario que hablaba de un problema en algunas situaciones cuando NO usaba localhost como nombre de servidor (estaba usando TLD personalizado con Valet para Linux , por lo que estaba muy relacionado con mi problema). Espero que si estás en mi situación no necesites sumergirte en el mismo proceso.

Así que compruebo con la nueva configuración y MÁGICAMENTE todo funciona!.

Todo lo que hice fue iniciar un servidor usando localhost y luego ejecutar las pruebas (automáticamente o con cypress UI)

 // package.json // 'npm test' to run tests automatically // 'npm run test:ui' to run with cypress UI "scripts": { "start": "http-server -a localhost -p 3030 -c-1", "cy:run": "cypress run", "cy:ui": "cypress open", "test": "start-server-and-test start http://localhost:3030 cy:run", "test:ui": "start-server-and-test start http://localhost:3030 cy:ui", },`

He compartido los primeros intentos en un repositorio.

Dune Browsing: exploración de la capacidad de prueba de los trabajadores de servicios en modo fuera de línea.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!