2010-05-05 8 views
22

Estoy usando las pruebas de IU codificadas de Visuial Studio para ejecutar pruebas de IU automatizadas en una aplicación WPF cada vez que se ejecuta una compilación en mi servidor TFS. El problema al que me estoy enfrentando es ejecutar dinámicamente el ejecutable en función de la ruta en la que acaba de crearse, incluida la configuración (x86, x64).Prueba de IU codificada VS 2010 - Inicie la aplicación a la que se hace referencia

¿Hay alguna forma de obtener la ruta a un ejecutable en un proyecto al que se hace referencia para que pueda iniciar la aplicación dinámicamente desde mi proyecto de prueba?

Respuesta

24

MSTest:

  1. abrir su archivo .testsettings y comprobar el "permitir el despliegue" en la sección de implementación.
  2. En su proyecto de prueba, haga clic derecho y seleccione Agregar elemento existente.
  3. Examina la ubicación de compilación de tu aplicación para realizar la prueba.
  4. Busque su ejecutable y seleccione "Agregar como enlace" (asegúrese de incluir todas las DLL dependientes de las aplicaciones si ya no están referenciadas por su proyecto de prueba)
  5. Haga clic derecho en el ejecutable y seleccione " copiar siempre"(esto va a copiar una nueva versión del .exe en el directorio bin pruebas cuando se construye)
  6. En su [TestInitialize] añadir los siguientes para iniciar su aplicación:

    _yourApp = ApplicationUnderTest.Launch(Path.Combine(Directory.GetCurrentDirectory(), "yourexecutablename.exe"));
  7. En su [TestCleanup] usted agrega lo siguiente:

    _yourApp.Close();

NUnit: (necesitará hacer referencia y utilizar Microsoft.VisualStudio.TestTools.UITesting)

  1. En el proyecto de prueba haga clic derecho y seleccione Agregar elemento existente.
  2. Examina la ubicación de compilación de tu aplicación para realizar la prueba.
  3. Encuentra su ejecutable y seleccione "Agregar enlace" (asegúrese de que sea de incluir todas las aplicaciones dependientes de si no están ya referenciados por el proyecto de prueba. DLL)
  4. Haga clic derecho en el enlace al ejecutable y seleccione "copiar siempre" (esto va a copiar una nueva versión del .exe en el directorio bin pruebas cuando se construye)
  5. En su [Setup] añadir los siguientes para iniciar su aplicación:

    _yourApp = ApplicationUnderTest.Launch("yourexecutablename.exe"));
  6. En su [Teardown] usted agrega el followi ng:

    _yourApp.Close();

nota: no he verificado la aplicación NUnit

+0

+1 Impresionante explicación paso a paso. – Lernkurve

+0

Solo una nota para usuarios de VB .NET: se agregó una variable interna dentro de la clase de prueba (como "Private myApp"), en lugar de corchetes, use <> (como "" en lugar de "[TestCleanup] ", y los pasos 4 y 5 son imposibles de hacer. –

+0

@Zian Choy: construye tu proyecto ejecutable como lo harías normalmente, luego cuando vayas a agregar un enlace al .exe necesitas encontrarlo en la ruta de compilación de la configuración de compilación. Por ejemplo, c: \ myapp \ bin \ debug \ myapp.exe. – Adam

4

Como escribió Zian Choy, siguiendo los pasos proporcionados por Adam, la aplicación bajo prueba no está siendo copiado a la .../Fuera del directorio. Los siguientes pasos adicionales funcionaron para mí:

  1. Abra su.archivo de ajustes de prueba y marque "Habilitar implementación" en la sección "Implementación".
  2. Agregue sus binarios bajo prueba a través de "Agregar directorio ...", p. "\ AppUnderTest \ bin \ debug"
1

He estado luchando desde hace algún tiempo en tratar de encontrar la manera de decirle a mi proyecto CodedUI donde lanzar el ejecutable y cómo hacerlo "derecho", por lo que funciona automáticamente cuando diferentes usuarios ejecutan el código en diferentes espacios de trabajo, en diferentes hosts, etc. Obtuve copiar el ejecutable en un directorio compartido (paso en la dirección correcta) y luego grabar una acción para iniciarlo desde allí (ayuda de banda, por lo que al menos funciona para diferentes usuarios en el mismo host).

Estos son los pasos de sus instrucciones MSTest, adaptados para MS Visual Studio 2015 Enterprise IDE. Lamentablemente, no tengo suficientes "puntos de reputación" para poder incrustar capturas de pantalla -

  1. Desde el interior de MS Visual Studio, en el Explorador de soluciones, haga clic en su proyecto CodedUI para resaltarlo, haga clic derecho, seleccione "Agregar", seleccione "Artículo existente"
  2. En el cuadro de diálogo Agregar elemento existente, navegue hasta el ejecutable que desea probar dentro de su proyecto CodedUI. Haga clic en el archivo para resaltarlo, luego busque la lista desplegable "Agregar" en la ventana de diálogo y seleccione "Agregar como enlace", haga clic en Aceptar
  3. Regrese al Explorador de soluciones, haga clic nuevamente en el proyecto CodedUI y amplíelo. Ahora debería ver un icono .exe indicado en el interior del proyecto CodedUI
  4. Haga clic en el icono .exe y seleccione "Propiedades"
  5. En la ventana Propiedades, establezca BuildAction al contenido y copiar al directorio de salida Copiar siempre

Voila !!!

Cuestiones relacionadas