Entonces, esta es una prueba que creé, y puedes ver que está utilizando el fixture de página. Estoy importando la prueba de Playwright. Tengo un antes. Estoy comprobando algunos títulos y rellenando algunos forms. Pero esto no es realmente reutilizable y no puedes entender realmente si no tienes el contexto de la aplicación, qué se está haciendo aquí.
Entonces, ¿cómo puedo hacer esto más fácil de leer y más reutilizable para todos los que necesitan agregar pruebas para usarlo? Entonces la respuesta es, voy a pasar esto a un objeto de página que tiene mis propios métodos. Y puedes ver aquí que tengo getTitle, clickButtons, fillForms. Entonces, estos son mis métodos, mis objetos de página, pero esto por sí solo no los hace disponibles en el fixture de página.
Entonces, lo que necesito hacer para que estén disponibles para usar es, bueno, crear un fixture. Entonces la estructura aquí es, necesito tener una función que le diga a Playwright, añade mi fixture a la tierra de la característica. Entonces la prueba es la tierra de las características y voy a extender mis propias características. Y en mi definición de fixture, va a estar mi prueba. Puedes usar otros fixtures como una sección de fixture para hacer cosas, pero lo principal aquí es la estructura. Entonces, la estructura para el fixture va a ser el bloque antes, la prueba y luego el bloque después. Entonces, lo que estoy haciendo aquí es, si miras la prueba inicial, tengo un gancho antes y comparando con mi fixture, el mismo gancho antes está allí. Luego voy a usar mis métodos en la página inicial y después de la ejecución, voy a hacer un console.log de algo.
Entonces, ¿cómo puedo usar esto en mi prueba? Entonces, en lugar de importar la prueba, en lugar de usar la página, ahora lo que voy a hacer es importar mi fixture y usar mi fixture en la prueba e importar mi prueba que es el fixture actual. Y como puedes ver allí, tiene acceso a mis métodos que creé en el objeto de página. Es un poco más legible y es muy reutilizable porque si quiero tener, digamos, otras 10 pruebas que pasen por esto, puedes simplemente reutilizarlo en lugar de tener que recodificar todo. Entonces, el control que nos dan los Fixtures de PlayWrite es que puedo decidir qué métodos necesito usar o qué quiero usar en mi fixture. Tengo un entorno realmente pequeño que es muy controlable y muy reutilizable. Entonces, espero que esto les dé un poco más de visión sobre los fixtures y cómo pueden usarlos en sus pruebas. Y eso es todo, chicos. Gracias.
Comments