Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
Abstraer una clase de configuración/inicio de sesión con Javascript/Puppeteer

Estoy tratando de crear una clase de "Sesiones" usando Javascript/Puppeteer y no estoy lo suficientemente familiarizado con JS o Puppeteer para que funcione.

Me imagino que me estoy encontrando con una limitación con las funciones asíncronas, pero, sinceramente, no tengo ni idea.

Titiritero abre con éxito el navegador y va al sitio web, pero se atasca al comienzo de la función de inicio de sesión "Prueba1" y nunca llega a "Prueba2"

¿Alguien puede mirar el siguiente código y decirme dónde me estoy equivocando? Hay 30-40 clases de prueba y me gustaría abstraer la función de configuración/inicio de sesión de cada clase.

Así que tengo una clase de "Sesiones" que se parece a esto.

 import {puppeteer} from "../types.cjs"; import {PuppetOptions} from "../data.js"; export class Session { glPage; glBrowser; constructor(url) { puppeteer.launch(PuppetOptions) .then(async (browser) => { this.glBrowser = browser this.glPage = await browser.newPage(); await this.glPage.goto(url); }); } async login(username, password) { console.log("testing") await this.glPage.waitForSelector('#idp-discovery-username') console.log("testing2") await this.glPage.type("#idp-discovery-username", username); await this.glPage.evaluate(() => { document.querySelector('#idp-discovery-submit').click(); }); await this.glPage.waitForSelector('#okta-signin-password') await this.glPage.type("#okta-signin-password", password) await this.glPage.evaluate(() => { document.querySelector('#okta-signin-submit').click(); }); } }

Y estoy tratando de usarlo en mi clase de prueba de la siguiente manera:

 describe("GL Flow", () => { before ( function () { let test = new Session(AccountInfo.qa.url) test.login(AccountInfo.qa.username, AccountInfo.qa.password) }); it("Test 1 ", async () => { expect(true) }); it("Test2", async () => { expect(true) }); })

Gracias por toda la ayuda.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda