Visual Studio de implementación del agente de prueba
- TFS
- Locales y Azure Pipelines
- Agentes de compilación y versión
- Se admiten agentes hospedados y locales.
- El agente debe poder comunicarse con todas las máquinas de prueba. Si las máquinas de prueba están detrás de un firewall, no se puede usar un agente Azure Pipelines hospedado por Microsoft porque no podrá comunicarse con las máquinas de prueba.
- El agente debe tener acceso a Internet para descargar agentes de prueba. Si este no es el caso, el agente de prueba debe descargarse manualmente, cargarse en una ubicación de red accesible para el agente y el parámetro Ubicación del agente de prueba usado para especificar la ubicación. El usuario debe comprobar manualmente si hay nuevas versiones del agente y actualizar las máquinas de prueba.
- Flujos de trabajo de integración continua/implementación continua
- Las tareas de compilación, implementación y prueba se admiten en los flujos de trabajo de compilación y versión.
- Configuración del grupo de máquinas
- Solo Windows máquinas basadas en máquinas virtuales se admiten dentro de un grupo de máquinas para las tareas de compilación, implementación y prueba. Linux, macOS u otras plataformas no se admiten dentro de un grupo de máquinas.
- No se admite la instalación de Visual Studio en cualquiera de las máquinas de prueba.
- No se admite la instalación de ninguna versión anterior del agente de prueba en ninguna de las máquinas de prueba.
- Topologías de máquina de prueba
- Las máquinas de prueba basadas en Azure son totalmente compatibles, tanto las máquinas de prueba existentes como las recién aprovisionadas.
- Las máquinas con el agente de prueba instalado deben tener acceso de red a la instancia de TFS en uso. No se admiten máquinas de prueba aisladas de red.
- Se admiten máquinas de prueba unidas a un dominio.
- Las máquinas de prueba unidas a un grupo de trabajo deben usar la autenticación HTTPS configurada durante la creación del grupo de máquinas.
- Condiciones de error de uso
- No se admite el uso de las mismas máquinas de prueba en distintos grupos de máquinas y la ejecución de compilaciones (con cualquier tarea de compilación, implementación y prueba) en paralelo con esos grupos de máquinas.
- No se admite la cancelación de una compilación o versión en curso que contenga tareas de compilación, implementación y prueba. Si cancela, el comportamiento de las compilaciones posteriores puede ser imprevisible.
- No se admite la cancelación de una ejecución de prueba en curso en cola mediante tareas de compilación, implementación y prueba.
- No se admite la configuración del agente de pruebas y la ejecución de pruebas como no administrador o mediante una cuenta de servicio.
- No se admite la ejecución de pruebas Windows aplicaciones de plataforma universal. Use la Visual Studio Test para ejecutar estas pruebas.
Ejemplo
Más información
- Uso de la Visual Studio implementación del agente en máquinas no conectadas a Internet
- Configurar las pruebas automatizadas para las compilaciones
- Código fuente de esta tarea
Tareas relacionadas
- Prueba de Visual Studio
- Copia de archivos de Azure
- Copia de archivos en una máquina Windows
- PowerShell en máquinas de destino
Código Abierto
Esta tarea es de código abierto en GitHub. Los comentarios y las contribuciones son bienvenidos.
Preguntas más frecuentes
¿Cuándo usaría la opción Habilitar solo recopilación de datos?
Un ejemplo sería en un modelo de aplicación cliente-servidor, donde se implementa el agente de prueba en los servidores y se usa otra tarea para implementar el agente de prueba en las máquinas de prueba. Esto le permite recopilar datos de máquinas cliente y de servidor sin desencadenar la ejecución de pruebas en las máquinas del servidor.
Cómo crear un grupo de recursos de Azure para realizar pruebas?
Consulte Uso de Azure Portal para administrar los recursos de Azure Azure Resource Manager: creación de un grupo de recursos y una red virtual.
¿Necesito un agente?
Necesita al menos un agente para ejecutar la compilación o versión.
Tengo problemas. ¿Cómo puedo solucionarlos?
Vea Solución de problemas de compilación y versión.
No se puede seleccionar un grupo de agentes predeterminado y no se puede poner en cola la compilación o versión. ¿Cómo puedo corregirlo?
Vea Grupos de agentes.
La tarea de envío de cambios de NuGet genera el error siguiente: "Error: no se puede obtener el certificado del emisor local". ¿Cómo lo puedo corregir?
Esto se puede corregir si se añade un certificado raíz de confianza. Puede agregar la variable de entorno NODE_EXTRA_CA_CERTS=file al agente de compilación, o bien la variable de tarea NODE.EXTRA.CA.CERTS=file en la canalización. Vea la documentación de Node.js para obtener más detalles sobre esta variable. Consulte Establecimiento de variables en una canalización para obtener instrucciones sobre cómo establecer una variable en la canalización.
Utilizo TFS en el entorno local y no veo algunas de estas características. ¿Por qué no?
Algunas de estas características solo están disponibles en Azure Pipelines y todavía no lo están en el entorno local. Algunas características están disponibles en el entorno local si ha actualizado a la versión más reciente de TFS.
Ayuda y soporte técnico
- Vea la guía de solución de problemas
- Obtenga consejos sobre Stack Overflowy obtenga soporte técnico a través de la página developer Community
Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015
Nota
En Microsoft Team Foundation Server (TFS) 2018 y versiones anteriores, las canalizaciones de compilación y versión se denominan definiciones, las ejecuciones se denominan compilaciones, las conexiones de servicio se denominan puntos de conexión de servicio, las fases se denominan entornos y los trabajos se denominan fases.
Esta tarea está en desuso en Azure Pipelines y TFS 2018 y versiones posteriores. Use la versión 2.x o posterior de la tarea Visual Studio Test junto con trabajos para ejecutar pruebas unitarias y funcionales en el agente universal. Para obtener más información, vea Testing with unified agents and jobs (Pruebas con agentes y trabajos unificados).
TFS 2017 y versiones anteriores
Use esta tarea para implementar y configurar el agente de pruebas para ejecutar pruebas en un conjunto de máquinas. El agente de prueba implementado por esta tarea puede recopilar datos o ejecutar pruebas distribuidas mediante la Visual Studio test.
Demandas y requisitos previos
Esta tarea requiere que el equipo de destino tenga:
- Windows 7 Service Pack 1 o Windows Service Pack 2008 R2 2 o superior
- .NET 4.5 o posterior
- PSRemoting habilitado mediante la ejecución del script enable-PSRemoting de PowerShell
Administración remota de Windows (WinRM)
Esta tarea usa Windows remote management (WinRM) para acceder a equipos físicos locales o equipos virtuales unidos a un dominio o a un grupo de trabajo.
Para configurar WinRM para equipos físicos o máquinas virtuales locales
Siga los pasos descritos en Unidos a un dominio.
Para configurar WinRM para Microsoft Azure Virtual Machines
Azure Virtual Machines winRM para usar el protocolo HTTPS. Puede usar un certificado de prueba autofirmado. En este caso, el agente de automatización no validará la autenticidad del certificado como emitido por una entidad de certificación de confianza.
Azure clásico Virtual Machines. Al crear una máquina virtual clásica desde Azure Portal, la máquina virtual ya está configurada para WinRM a través de HTTPS, con el puerto predeterminado 5986 ya abierto en el firewall y un certificado autofirmado instalado en la máquina. Se puede acceder a estas máquinas virtuales sin necesidad de ninguna configuración adicional. Las máquinas virtuales clásicas existentes también se pueden seleccionar mediante la tarea Implementación del grupo de recursos de Azure.
Grupo de recursos de Azure. Si tiene un grupo de recursos de Azure
ya definido en el Azure Portal, debe configurarlo para usar el protocolo HTTPS WinRM. Debe abrir el puerto 5986 en el firewall e instalar un certificado autofirmado.
Para implementar dinámicamente grupos de recursos de Azure que contienen máquinas virtuales, use la tarea Implementación del grupo de recursos de Azure. Esta tarea tiene una casilla denominada Habilitar requisitos previos de implementación. Seleccione esta opción para configurar automáticamente el protocolo HTTPS winRM en las máquinas virtuales, abrir el puerto 5986 en el firewall e instalar un certificado de prueba. Las máquinas virtuales están listas para usarse en la tarea de implementación.
Fragmento de código YAML
# Visual Studio test agent deployment
# Deprecated: Instead, use the 'Visual Studio Test' task to run unit and functional tests
- task: DeployVisualStudioTestAgent@2
inputs:
testMachines:
adminUserName:
adminPassword:
#winRmProtocol: 'Http' # Options: http, https
#testCertificate: true # Optional
machineUserName:
machinePassword:
#runAsProcess: false # Optional
#isDataCollectionOnly: false # Optional
#testPlatform: '14.0' # Optional. Options: 15.0, 14.0
#agentLocation: # Optional
#updateTestAgent: false # Optional
Argumentos
| Argumento | Descripción |
|---|---|
| Máquinas | Lista separada por comas de FQDN de máquina o direcciones IP, que opcionalmente incluye el número de puerto. El máximo es 32 máquinas (o 32 agentes). Puede ser: : el nombre de un grupo de recursos de Azure. - Una lista delimitada por comas de nombres de máquina. Ejemplo: dbserver.fabrikam.com,dbserver_int.fabrikam.com:5986,192.168.34:5986- Variable de salida de una tarea anterior. |
| Inicio de sesión de administrador | El nombre de usuario de un dominio o una cuenta administrativa local en los host de destino. Este parámetro es necesario cuando se usa con una lista de máquinas. Es opcional al especificar un grupo de máquinas y, si se especifica, invalida la configuración de credenciales definida para el grupo de máquinas. - Se admiten formatos como username,domain\username,machine-name\usernamey .\username. - No se admiten formatos UPN como y cuentas del sistema integradas, como username@domain.comusername@domain.com |
| Contraseña | Contraseña de la cuenta administrativa especificada anteriormente. Este parámetro es necesario cuando se usa con una lista de máquinas. Es opcional al especificar un grupo de máquinas y, si se especifica, invalida la configuración de credenciales definida para el grupo de máquinas. Considere la posibilidad de usar una variable secreta global para la canalización de compilación o versión para ocultar la contraseña. Ejemplo: $(passwordVariable) |
| Protocolo | Protocolo que se usará para conectarse al host de destino, ya sea HTTP o HTTPS. |
| Configuración del agente: nombre de usuario | Obligatorio. Nombre de usuario que usará el agente de prueba. Debe ser una cuenta en las máquinas de prueba que tenga permisos administrativos. - Se admiten formatos como username,domain\username,machine-name\usernamey .\username. - No se admiten formatos UPN como y cuentas del sistema integradas, como username@domain.comusername@domain.com |
| Configuración del agente: contraseña | Obligatorio. Contraseña del nombre de usuario del agente de prueba. Para proteger la contraseña, cree una variable y use el icono de "candado" para ocultarla. |
| Configuración del agente: ejecución de pruebas de IU | Cuando se establece, el agente de prueba se ejecutará como un proceso interactivo. Esto es necesario al interactuar con elementos de la interfaz de usuario o iniciar aplicaciones durante las pruebas. Por ejemplo, las pruebas de IU codificadas o Selenium que se ejecutan en exploradores de fidelidad completa requerirán que se establezca esta opción. |
| Configuración del agente: habilitar solo la recopilación de datos | Cuando se establece, el agente de prueba devolverá los datos recopilados previamente y no volverá a ejecutar las pruebas. En la actualidad, esto solo está disponible para cobertura de código. Consulte también la sección preguntas más frecuentes a continuación. |
| Avanzado: versión del agente de prueba | Versión del agente de prueba que se usará. |
| Avanzado: ubicación del agente de prueba | Opcional. Ruta de acceso al agente de prueba (vstf_testagent.exe) si es diferente de la ruta de acceso predeterminada. - Si usa una copia del agente de prueba ubicado en el equipo o la red local, especifique la ruta de acceso a esa instancia. - La ubicación debe ser accesible para el agente de compilación (con la identidad en la que se ejecuta) o el agente de prueba (mediante la identidad configurada anteriormente). - En el caso de las máquinas de prueba de Azure, se puede usar la ubicación web. |
| Avanzado: actualización del agente de prueba | Si se establece y el agente de prueba ya está instalado en las máquinas de prueba, la tarea comprobará si hay disponible una nueva versión del agente de prueba. |
| Opciones de control | Consulte Opciones de control. |
La tarea admite un máximo de 32 máquinas o agentes.
Escenarios admitidos
Use esta tarea para:
- Ejecución de pruebas automatizadas en entornos estándar locales
- Ejecución de pruebas automatizadas en entornos de Azure existentes
- Ejecución de pruebas automatizadas en entornos de Azure recién aprovisionados
Las opciones admitidas para estos escenarios son: