c# - studio - pruebas unitarias interfaz
¿Es posible ejecutar pruebas de interfaz de usuario codificadas sin tener que conectarse a través del escritorio remoto? (8)
Desde MSDN :
La computadora que ejecuta un agente en el que desea ejecutar las pruebas de UI codificadas no se puede bloquear o tener un protector de pantalla activo.
Si está ejecutando sus CodedUi Tests
través de Visual Studio (significa que las pruebas se ejecutan en su cuenta), creo que debe estar conectado a través del escritorio remoto al servidor de prueba remoto.
Sin embargo, puede usar Microsoft Test Manager
para ejecutar sus pruebas:
- Crea un ambiente virtual.
- Configure sus máquinas virtuales para que puedan ejecutar pruebas automatizadas.
- Instale el controlador de prueba y el agente de prueba.
-Ajuste el Agente de prueba para que se ejecute como Progreso interactivo para que pueda ejecutar las pruebas de CodedUi.
-Ajuste el controlador de prueba para ejecutar con Microsoft Test Manager. - Cree un plan de prueba a través de MTM y ejecute pruebas de recorrido en su entorno virtual. No hay necesidad de estar conectado en el servidor remoto ahora, porque sus pruebas se ejecutarán bajo la cuenta que ejecuta el agente de prueba (nota: debe crear uno para fines de prueba).
Estoy intentando automatizar las pruebas de UI codificadas.
Mi controlador de prueba inicia las pruebas en un servidor de prueba remoto, al que normalmente accedo a través de una conexión de Escritorio remoto.
¿Es posible ejecutar las pruebas de interfaz de usuario codificadas sin tener que conectarse a través del escritorio remoto?
Actualmente, las pruebas solo se ejecutan cuando me he conectado a través de Escritorio remoto, y la ventana debe estar abierta. Cuando cierro la sesión de Escritorio remoto, las pruebas no se ejecutan.
Si no es posible ejecutar pruebas de interfaz de usuario codificadas sin escritorio remoto, ¿cómo puedo automatizar la conexión a través del escritorio remoto?
Gracias
La solución más sencilla para este problema fue simplemente habilitar el inicio de sesión automático en mi entorno de prueba (hay varias maneras de hacerlo, dependiendo del sistema operativo).
Con el inicio de sesión automático habilitado, cuando reinicio el entorno de prueba (usando el comando ''shutdown.exe / r'', que puede ser guionado), el entorno de prueba carga una copia de seguridad con una sesión activa y activa, y así las pruebas pueden ejecutarse exitosamente.
Para mi automatización de prueba nocturna, habilité el inicio de sesión automático en mi entorno de prueba y programé un reinicio antes de la ejecución de la prueba.
No he tenido problemas con este método, y eso significa que no tengo que conectarme a través de Remote Desktop.
Ver / interactuar con la máquina usando VNC (por ejemplo, TightVNC )
esto es muy fácil, por favor revisa esta publicación en el blog aquí. Esto se explica de una manera muy simple. Cómo programar la ejecución de la prueba de UI con código de Microsoft cuando no tienes MS TFS.
- Cree una versión del proyecto de interfaz de usuario codificada estable siguiendo los pasos i. Open Build> Batch build
ii. Haga clic en reconstruir si ya se creó un lanzamiento
Después de crear con éxito el proyecto de IU codificado, navegue hasta la carpeta de lanzamiento del proyecto y copie testAutomated.dll nombrado con el nombre de su proyecto.
Coloque este dll en la máquina remota donde desea programar su ejecución de prueba
Coloque .dll en algún directorio de máquina remota, por ejemplo, estoy colocando en D: / codedUitest
Instale el agente de prueba Miscosoft desde este enlace en esta máquina donde desea ejecutar la prueba. http://www.microsoft.com/en-us/download/details.aspx?id=38186
Después de instalar el agente de prueba, verifique que la prueba de MS esté presente en la ubicación
Abra el bloc de notas e ingrese el texto siguiente D: cd coadedUitest set mstestPath = "C: / Archivos de programa / Microsoft Visual Studio 12.0 / Common7 / IDE"% mstestpath% / mstest /testcontainer:testAutomated.dll
Guárdelo con la extensión .bat
Abra el archivo .bat haciendo doble clic en él para verificar que las pruebas se ejecutan o no
Después de una ejecución exitosa, abra el programador de tareas de Windows y cree una tarea programada para ejecutar este archivo .bat creado.
http://testingtoolstecniques.blogspot.com/2014/11/how-to-schedule-microsoft-coaded-ui.html
Puede usar VMware para ejecutar sus pruebas de ui codificadas. si minimiza la VM, la prueba continuará.
Vea este enlace para más detalles. http://www.binaryclips.com/2016/03/coded-ui-tests-executing-test-case.html
Me encontré con el mismo problema con nuestra máquina de prueba remota, pero nuestras máquinas de prueba se ejecutan en Hyper-V. Con Hyper-V, la solución es simplemente conectarse a través de Hyper-V en lugar de Conexión a Escritorio remoto, y cerrar la conexión de Hyper-V no bloqueará la computadora.
Otra sugerencia sería evitar el hecho de que Escritorio remoto bloquea automáticamente su pantalla. Hay un poco de información al respecto aquí: http://homeservershow.com/remote-desktop-session-locks-workstation-after-exit.html
Básicamente, ejecute "tscon.exe RDP-Tcp # 0 / dest: console" en el símbolo del sistema de la máquina remota cuando desee desconectarse. La máquina debe permanecer desbloqueada y las pruebas se ejecutarán bien.
Según @Zatricion, ese comando puede generalizarse:
tscon.exe %sessionname% /dest:console
ACTUALIZAR:
El uso del sistema de compilación VSO o TFS2015 ya no necesita una conexión remota para ejecutar las pruebas. Cree una compilación o un lanzamiento ejecutando la tarea "Despliegue de Visual Studio Test Agent", luego ejecute la tarea "Ejecutar pruebas funcionales".
El mejor enfoque sería probablemente: crear una versión que elimine los artefactos de construcción, luego crear una versión que implemente el sitio desde los artefactos y ejecute las pruebas de interfaz de usuario codificadas contra ese sitio.
NOTAS:
- Si inicia una conexión remota manualmente, la ejecución fallará.
- Si crea una conexión remota y se desconecta en lugar de cerrar sesión, la ejecución fallará.
- El inicio de sesión automático habilitado y un reinicio todavía permitirán que se ejecuten estas pruebas.
- Al usar Hyper-V puede ver el escritorio del servidor que ejecuta las pruebas, es una ventana muy pequeña pero le da una idea de lo que está haciendo el servidor.
- Solución preferida 1: tener un cliente Hyper-V y simplemente ejecutar pruebas de interfaz de usuario codificadas utilizando una tarea de programación. Sin problemas en absoluto.
- Solución 2 preferida: debe tener 2 VM. Primer escritorio remoto para VM 1, luego del escritorio remoto VM 1 para VM 2 donde se ejecutará la interfaz de usuario codificada. Una vez que la UI codificada comenzó en VM2, simplemente desconecte la VM 1. Esto mantendrá la sesión abierta y nunca tendrá problemas.
-resolución preferida preferida 3: reiniciar VM usando la línea de comando. Hacer que el inicio de sesión automático esté habilitado en su máquina virtual. Tener una tarea programada para ejecutar la interfaz de usuario codificada.
Usé este método y encontré algunos de mis exámenes.
--algo preferido Solución 4: use tscon.exe% sessionname% / dest: console Utilicé este método, pero no puedo garantizar que su prueba se ejecutará sin problemas