Compartir a través de


Parámetros en tiempo de ejecución

TAEF proporciona funcionalidad para pasar parámetros en tiempo de ejecución a las pruebas que ejecuta.

Uso

Para pasar un parámetro a la prueba, proporcione este parámetro para te.exe como parámetro de línea de comandos de la forma siguiente:

Te.exe /p:ParameterName1=ParameterValue1  /p:ParameterName2=ParameterValue2

Si el valor del parámetro contiene espacios, coloque comillas alrededor del nombre del parámetro y el valor del parámetro:

Te.exe /p:"ParameterName3=The quick brown fox jumps over the lazy dog"

Parámetros integrados

TAEF tiene compatibilidad integrada con los siguientes parámetros en tiempo de ejecución:

  • TestDeploymentDir: directorio binario de prueba.
  • TestName: el nombre de la prueba que se está ejecutando actualmente.
  • FullTestName: el nombre completo de la prueba, incluidos los calificadores de variación. Este es el nombre como TAEF lo registra para StartGroup y EndGroup.
  • TestResult: El resultado en el peor de los casos de las pruebas ejecutadas dentro del ámbito de esta función Cleanup. En orden de mejor a peor: Aprobado, No Ejecutado, Saltado, Bloqueado, Fallido. Por ejemplo, si al menos una prueba de la clase se bloqueó, pero no se produjo ningún error en las pruebas, el resultado será "Bloqueado" (solo disponible en funciones de limpieza).

Acceso a parámetros en tiempo de ejecución desde pruebas

Pruebas nativas

Los parámetros en tiempo de ejecución están disponibles en los métodos de instalación, limpieza y prueba. Use la API RuntimeParameters::TryGetValue para obtenerlas:

String value;
VERIFY_SUCCEEDED(RuntimeParameters::TryGetValue(L"ParameterName3", value));

Nota: Para solicitar Parámetros de Ejecución de sus pruebas, deberá enlazar con la biblioteca Te.Common.lib.

Pruebas administradas

Los parámetros en tiempo de ejecución están disponibles en los métodos de instalación y prueba. Para obtenerlos, use la propiedad TestContext de su clase.

ejemplo (configuración de clase o ensamblaje):

[ClassInitialize]

public static void ClassSetup(TestContext context)
{
    String parameterName3  = context.Properties["ParameterName3"];

}

Del mismo modo, a partir de una prueba:

[TestMethod]

public void VerifyRuntimeParametersTest()
{
    String parameterName3  = m_testContext.Properties["ParameterName3"].ToString());
}

// Note, that to work with runtime parameters, as well as with your tests,  you need to add
// definition of test context property to your class

private TestContext m_testContext;

public TestContext TestContext
{
    get { return m_testContext; }
    set { m_testContext = value; }
}

Pruebas de script

Los parámetros en tiempo de ejecución están disponibles en la configuración, limpieza y los métodos de prueba. Para recuperar parámetros en tiempo de ejecución, defina y cree una instancia del objeto RuntimeParameters de Te.Common:

<object id="RuntimeParameters" progid="Te.Common.RuntimeParameters" />

Una vez que se crea una instancia del objeto RuntimeParameters, puede usar el método RuntimeParameters.Contains("<runtime parameter name>") para consultar si se proporcionó un parámetro en tiempo de ejecución y está disponible para la prueba. Si devuelve true, puede usar RuntimeParameters.GetValue("<runtime parameter name>") para recuperarlo. Tenga en cuenta que RuntimeParameters.GetValue(...) iniciará si el parámetro en tiempo de ejecución no está disponible. El ejemplo siguiente es de nuestro ejemplo de VBScript:

<script language="VBScript">
    <![CDATA[
        Function TestOne()
            dim param
            param = "No runtime param"
            If RuntimeParameters.Contains("param") Then
                    param = RuntimeParameters.GetValue("param")
            End If
            Log.Comment("Param is " + param)

            dim testDir
            If RuntimeParameters.Contains("testDir") Then
                testDir = RuntimeParameters.GetValue("TestDir")
            End If
            Log.Comment("The test harness is running in " + testDir)
        End Function
    ]] >
</script>