[SOLUCIONADO] Automation Tests- Synpress

Iniciado por willyfvr, Marzo 14, 2024, 12:06:41 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 14, 2024, 12:06:41 PM Ultima modificación: Marzo 18, 2024, 06:43:48 PM por AXCESS
Buenas.
¿cómo hago para "skipear" la conexión de metamask en el proceso de desarrollo?
explico contexto: estoy desarrollando los tests y en tiempo de ejecución synpress se comporta distinto de cypress por lo que necesito hacer un debug mas "a mano" y me ahorraría un tiempo importante el poder "saltar" el proceso de conexion con metamask hasta tener el test armado.
(Nota: probe agregar SKIP_METAMASK=true en el package.json pero no funciono <lo vi en algun lado>)

Hola! acá te paso algunas opciones que podes probar

Hay algo que se llama Mocking o stubbing de MetaMask: Puedes usar herramientas de mock o stub para simular la interacción con MetaMask durante las pruebas. De esta manera, no necesitarías conectarte realmente a MetaMask durante el desarrollo de tus pruebas. Esto podría requerir modificar el código de tu aplicación para que acepte la conexión simulada en lugar de la conexión real de MetaMask.

Lo otro es usar una red de prueba local: Configura MetaMask para que se conecte a una red de prueba local, como Ganache. De esta manera, puedes desarrollar y ejecutar pruebas utilizando una red local en lugar de la red principal de Ethereum. Esto te permite tener control total sobre el entorno de prueba sin depender de la red principal.

Por otro lado, podrías probar desactivando MetaMask temporalmente: Si estás utilizando MetaMask directamente en tu navegador durante el desarrollo, simplemente puedes desactivar la extensión temporalmente mientras desarrollas y ejecutas tus pruebas. Esto evitará que tu aplicación intente conectarse a MetaMask.

También podes probar con la configuración de variables de entorno: Como mencionaste que intentaste agregar SKIP_METAMASK=true en el package.json sin éxito, podrías intentar establecer esta variable de entorno de otra manera. Dependiendo de cómo estén configurados tus scripts de prueba, podrías intentar establecer esta variable directamente en tu sistema operativo o en el script de prueba.

Sino como úlima opción, podes optar por la modificación de las pruebas: Si ninguna de las opciones anteriores es factible, puedes modificar tus pruebas para evitar la necesidad de la conexión con MetaMask. Por ejemplo, podrías modificar temporalmente tu código para omitir las partes que interactúan con MetaMask durante las pruebas.

Espero que te haya servido la ayuda! sino avisá y vamos viendo más alternativas, pero esto es lo que más se suele hacer

Saludos!


Gracias Antrax!!
Voy a probar con lo de la variable de entorno de otra manera.
Al ejecutar el
Código: php
npx run synpress 
, el framework "instala" el complemento de metamask en el browser embebido y conecta con metamask (o trata de conectar), posterior a eso, recien ejecuta los test. Por lo que cada vez que quiero "probar" si mis tests validan algo (Que no sea la conexion con metamask) tengo que esperar a que realice la conexión con el plugin.

Muchas gracias de nuevo!