Prueba de IU con Selenium
En Visual Studio, abra el menú Archivo y elija Nuevo Project y, acontinuación, elija Probar y seleccione Prueba unitaria Project. Como alternativa, abra el menú contextual de la solución y elija Agregar, a continuación, Project y, a continuación, Prueba unitaria Project.
Una vez creado el proyecto, agregue las referencias de selenium y del controlador del explorador que usa el explorador para ejecutar las pruebas. Abra el menú contextual del proyecto Prueba unitaria y elija Administrar NuGet paquetes. Agregue los siguientes paquetes al proyecto:
- Selenium.WebDriver
- Selenium.Firefox.WebDriver
- Selenium.WebDriver.ChromeDriver
- Selenium.WebDriver.IEDriver

Cree las pruebas. Por ejemplo, el código siguiente crea una clase predeterminada denominada MySeleniumTests que realiza una prueba sencilla en el sitio web Bing.com. Reemplace el contenido de la función TheBingSearchTest por el código selenium necesario para probar la aplicación web o el sitio web. Cambie la asignación del explorador de la función SetupTest al explorador que desea usar para la prueba.
using System; using System.Text; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Firefox; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.IE; namespace SeleniumBingTests { /// <summary> /// Summary description for MySeleniumTests /// </summary> [TestClass] public class MySeleniumTests { private TestContext testContextInstance; private IWebDriver driver; private string appURL; public MySeleniumTests() { } [TestMethod] [TestCategory("Chrome")] public void TheBingSearchTest() { driver.Navigate().GoToUrl(appURL + "/"); driver.FindElement(By.Id("sb_form_q")).SendKeys("Azure Pipelines"); driver.FindElement(By.Id("sb_form_go")).Click(); driver.FindElement(By.XPath("//ol[@id='b_results']/li/h2/a/strong[3]")).Click(); Assert.IsTrue(driver.Title.Contains("Azure Pipelines"), "Verified title of the page"); } /// <summary> ///Gets or sets the test context which provides ///information about and functionality for the current test run. ///</summary> public TestContext TestContext { get { return testContextInstance; } set { testContextInstance = value; } } [TestInitialize()] public void SetupTest() { appURL = "http://www.bing.com/"; string browser = "Chrome"; switch(browser) { case "Chrome": driver = new ChromeDriver(); break; case "Firefox": driver = new FirefoxDriver(); break; case "IE": driver = new InternetExplorerDriver(); break; default: driver = new ChromeDriver(); break; } } [TestCleanup()] public void MyTestCleanup() { driver.Quit(); } } }Ejecute la prueba de Selenium localmente mediante el Explorador de pruebas y compruebe que funciona.
Definición de la canalización de compilación
Necesitará una canalización de compilación de integración continua (CI) que compile las pruebas de Selenium. Para obtener más información, consulte Compilación de la aplicación de escritorio de .NET para Windows.
Creación de la aplicación web
Necesitará una aplicación web para probar. Puede usar una aplicación existente o implementar una en la canalización de versión de implementación continua (CD). El código de ejemplo anterior ejecuta pruebas en Bing.com. Para más información sobre cómo configurar su propia canalización de versión para implementar una aplicación web, consulte Implementación en Azure Web Apps.
Decidir cómo implementará y probará la aplicación
Puede implementar y probar la aplicación mediante el agente hospedado por Microsoft en Azure o un agente auto-hospedado que instale en los servidores de destino.
Al usar el agente hospedado por Microsoft,debe usar los controladores web selenium que están preinstalados en los agentes de Windows (agentes denominados Hosted VS 20xx) porque son compatibles con las versiones del explorador instaladas en las imágenes de agente hospedadas por Microsoft. Las rutas de acceso a las carpetas que contienen estos controladores se pueden obtener de las variables de entorno denominadas
IEWebDriver(Internet Explorer),ChromeWebDriver(Google Chrome) yGeckoWebDriver(Firefox). Los controladores no están preinstalados en otros agentes, como agentes de Linux, Ubuntu y macOS. Consulte también consideraciones sobre las pruebas de IU.Cuando se usa un agente auto hospedado que se implementa en los servidores de destino, los agentes deben configurarse para que se ejecuten de forma interactiva con el inicio de sesión automático habilitado. Consulte Build and release agents and UI testing considerations (Consideraciones sobre las pruebas de IU y agentes de compilación y versión).
Incluir la prueba en una versión
NOTA: En este ejemplo se usa la Visual Studio instalador de la plataforma de prueba y la versión más reciente de la Visual Studio prueba. Estas tareas no están disponibles en TFS 2015 o TFS 2017. Para ejecutar pruebas de Selenium en estas versiones de TFS, debe usar las tareas Visual Studio Implementación del agente de pruebas y Ejecutar pruebas funcionales en su lugar.
Si no tiene una canalización de versión existente que implemente la aplicación web:
Abra la página Versiones de la sección Azure Pipelines de Azure DevOps o el centro De versión de compilación en TFS (consulte Navegación por el portal web)y elija el icono y, a continuación, elija Crear canalización de versión.

Seleccione la plantilla Azure App Service Implementación y elija Aplicar.
En la Artifacts de la pestaña Canalización, elija + Agregar. Seleccione los artefactos de compilación y elija Agregar.

Elija el icono Desencadenador de implementación continua en la Artifacts sección de la pestaña Canalización. En el panel Desencadenador de implementación continua, habilite el desencadenador para que se cree una nueva versión a partir de cada compilación. Agregue un filtro para la rama predeterminada.

Abra la pestaña Tareas, seleccione la sección Fase 1 y escriba la información de suscripción y el nombre de la aplicación web donde desea implementar la aplicación y las pruebas. Esta configuración se aplica a la tarea Azure App Service implementación.

Si va a implementar la aplicación y pruebas en entornos donde las máquinas de destino que hospedan los agentes no tienen Visual Studio instalado:
En la pestaña Tareas de la canalización de versión, elija el icono de la sección Ejecutar en el agente. Seleccione la tarea Visual Studio Instalador de la plataforma de prueba y elija Agregar. Deje todos los valores predeterminados.

Puede encontrar una tarea más fácilmente mediante el cuadro de texto de búsqueda.
En la pestaña Tareas de la canalización de versión, elija el icono de la sección Ejecutar en el agente. Seleccione la Visual Studio Prueba y elija Agregar.

Si ha agregado la tarea instalador de Visual Studio Plataforma de prueba a la canalización, cambie la configuración versión de la plataforma de prueba en la sección Opciones de ejecución de la tarea Visual Studio Prueba a Instalado por el Instalador de herramientas.

Cómo pasar parámetros a mi código de prueba desde una canalización de compilación?
Guarde la canalización de versión e inicie una nueva versión. Puede hacerlo mediante la puesta en cola de una nueva compilación de CI o eligiendo Crear versión en la lista desplegable Versión de la canalización de versión.

Para ver los resultados de las pruebas, abra el resumen de la versión en la página Versiones y elija el vínculo Pruebas.
Pasos siguientes
Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015 | Visual Studio 2017 | Visual Studio 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.
La realización de pruebas de la interfaz de usuario (UI) como parte de la canalización de versión es una excelente manera de detectar cambios inesperados y no es necesario que sea difícil. En este tema se describe el uso de Selenium para probar el sitio web durante una versión de implementación continua y la automatización de pruebas. Las consideraciones especiales que se aplican al ejecutar pruebas de IU se de abordan en consideraciones de pruebas de IU.
Normalmente, ejecutará pruebas unitarias en el flujo de trabajo de compilación y pruebas funcionales (IU) en el flujo de trabajo de versión después de implementar la aplicación (normalmente en un entorno de control de calidad).
Para más información sobre la automatización del explorador Selenium, consulte:
Creación del proyecto de prueba
Como no hay ninguna plantilla para las pruebas de Selenium, la manera más fácil de empezar es usar la plantilla De prueba unitaria. Esto agrega automáticamente las referencias del marco de pruebas y permite ejecutar y ver los resultados desde Visual Studio Test Explorer.