es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo abrir una nueva pestaña en el navegador (en la misma ventana del navegador) con TestCafe?

Actualmente no puedo abrir una nueva pestaña en la misma ventana del navegador. Por favor, consulte el escenario.

Después de iniciar sesión, la aplicación abre la página en la misma ventana del navegador. Necesito hacer clic en la tarjeta y luego se abrirá en una nueva pestaña, donde necesito probar todo. Actualmente, necesito simular una URL directa para una nueva pestaña, pero quiero abrir una nueva pestaña con el código del caso de prueba.

Por favor, hágame saber si es posible en Test Cafe.

Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible abrir una nueva pestaña en TestCafe utilizando el método de API t.openWindow(). Este método te permite abrir una nueva ventana o pestaña del navegador y navegar hacia una URL especificada.

    Para abrir una nueva pestaña después de hacer clic en una tarjeta, puedes agregar una acción click al elemento de la tarjeta y utilizar el método t.openWindow() para abrir la URL en una nueva pestaña.

    Aquí tienes un ejemplo de código:

    import { Selector } from 'testcafe';
    
    fixture `Prueba de mi aplicación`
       .page `https://mi-app.com`;
    
    test('abrir tarjeta en nueva pestaña', async t => {
       const tarjeta = Selector('#tarjeta');
    
       await t
          .click(tarjeta)
          .expect(tarjeta.hasClass('activa')).ok()
          .expect(t.eval(() => window.location.pathname)).notEql('/tarjeta')
          .expect(t.eval(() => window.document.title)).eql('Título de la Tarjeta');
    
       const urlTarjeta = await t.eval(() => window.location.href);
       await t.openWindow(urlTarjeta)
          .expect(t.eval(() => window.location.pathname)).eql('/tarjeta')
          .expect(t.eval(() => window.document.title)).eql('Título de la Tarjeta');
    });
    

    En este código, primero hacemos clic en el elemento tarjeta y luego comprobamos si se le ha añadido la clase activa. También verificamos si la URL y el título de la página han cambiado.

    A continuación, obtenemos la URL de la tarjeta y utilizamos el método t.openWindow() para abrirlo en una nueva pestaña. Luego verificamos si la URL y el título de la página en la nueva pestaña son los esperados.

    ¡Espero que esto te ayude! Hazme saber si tienes alguna otra pregunta.

Comments are closed.