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.

Pasando argumentos de lanzamiento personalizados a Detox.

Estoy teniendo dificultades para pasar los argumentos de inicio a detox. Por ejemplo, si quiero pasar algunos usuarios diferentes como argumentos de inicio. Mi archivo init se ve así:

beforeAll(async () => {
    await device.launchApp({
        newInstance: true, 
        permissions: {notifications: 'YES'},
        launchArgs: {
            users: {
                user1: { email: '123@abc.com', pass: '123456' },
                user2: { email: 'abc@123.com', pass: '654321' },
            }
        }
    });
});

Sin embargo, en mi archivo de prueba,

await device.appLaunchArgs.get();

devuelve un objeto vacío. ¿Alguna idea de lo que estoy haciendo mal? ¿Estoy entendiendo mal para qué sirven los launchArgs?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando pasar argumentos de lanzamiento a tus pruebas de Detox, pero tienes problemas para recuperarlos en tu archivo de prueba. A partir de tus fragmentos de código, parece que estás pasando correctamente los argumentos de lanzamiento en tu función beforeAll usando la propiedad launchArgs.

    Sin embargo, para recuperar los argumentos de lanzamiento en tu archivo de prueba, deberías usar await device.launchApp({/* ... */, launchArgs: {...}}) en lugar de await device.appLaunchArgs.get(). Este último método solo recupera los argumentos de lanzamiento cuando la aplicación ya está en ejecución, mientras que el primer método inicia la aplicación con los argumentos de lanzamiento específicos y devuelve los argumentos como una promesa.

    Así que para recuperar los argumentos de lanzamiento en tu archivo de prueba, puedes intentar algo como:

    const launchArgs = await device.launchApp({
       // ... otras opciones
       launchArgs: {
          // ... tus argumentos de lanzamiento
       }
    });
    
    console.log(launchArgs); // debería imprimir el objeto de tus argumentos de lanzamiento
    

    ¡Espero que esto te ayude! Déjame saber si tienes más preguntas.

Comments are closed.