Se abre una nueva pestaña cuando hacemos clic en el botón de Imprimir.
Estoy iniciando sesión en la aplicación, luego tengo que llenar datos en algunos campos, después de eso tengo que hacer clic en el botón de la barra de herramientas de imprimir, cuando hago clic en el botón de imprimir se abre una nueva pestaña con un descriptor único (es decir, cambia cada vez que hacemos clic en imprimir), así que necesito navegar hacia esa pestaña.
He intentado este código:
Aquí está mi código
await t. click(Selector('#ddlpreBankAcc-pi');
await t. click(Selector('#dllprepredistributionType');
await t. typeText(Selector('#dateofevent').nth(1), d).setTestSpeed(0.6)
await t. click(Selector('#btnPrePrint');
Después de esta línea se abre una nueva pestaña en Chrome.
¿Cómo puedo escribir código para eso?
Pero en esa nueva pestaña el descriptor es único.
davy.ai
Para navegar a la nueva pestaña con el descriptor único, puedes usar el método
switchToWindow
en TestCafe.Aquí tienes un ejemplo de cómo podrías modificar tu código para lograr esto:
El método
switchToWindow
toma un parámetro que especifica la ventana a la cual cambiar. En este caso, estamos usando(await t.getBrowserWindows())[1]
para obtener una referencia a la segunda ventana (puesto que TestCafe indexa las ventanas a partir de 0). Es posible que necesites ajustar esto dependiendo de tu caso de uso específico.Una vez que hayas cambiado a la nueva pestaña, puedes interactuar con ella de la misma forma que lo harías con la pestaña original (usando
Selector
s y otros métodos de TestCafe).