Compartir vía


Ejecución de las pruebas de DevFund a través de la línea de comandos

Información general

Hay varias maneras de ejecutar las pruebas de DevFund y SysFund a través de la línea de comandos. Las instrucciones de esta página son para ejecutar las pruebas a través de la línea de comandos con Visual Studio y el Kit de controladores de Windows (WDK), pero sin aprovisionar el sistema de prueba a través de Visual Studio.

Otros métodos para ejecutar las pruebas de DevFund y SysFund incluyen:

Configuración

Tenga en cuenta que los siguientes comandos deben ejecutarse desde un símbolo del sistema con privilegios elevados o de administrador porque la instalación de WDTF instala controladores en el sistema. En las instrucciones siguientes se supone que la arquitectura del sistema es x64. Es posible que sea necesario ajustar los pasos siguientes para otras arquitecturas.

Paso 1 : Instalar Visual Studio y el Kit de controladores de Windows (WDK)

Paso 2 : Las pruebas usan el servicio TAEF .

Para instalar el servicio TAEF (Te.service), vaya a %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\TAEF\x64 y ejecute los siguientes comandos para iniciar el servicio:

  1. wex.services.exe /install:te.service (Compruebe que te.service se instaló correctamente)

  2. sc start te.service (Compruebe que "STATE" es "START_PENDING")

  3. sc query te.service (Compruebe que "STATE" es "RUNNING")

  4. sc qc te.service (Compruebe que "START_TYPE" es "AUTO_START")

Agregue este directorio a la variable de entorno PATH del sistema y reinicie el símbolo del sistema con privilegios elevados.

Paso 3 : Instale WDTF ; para ello, vaya a la ubicación del MSI de WDTF (%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\) e instale el paquete para la arquitectura deseada. Especifique una ubicación y un nombre para el archivo de registro de instalación, %USERPROFILE%\Desktop\WDTFInstall.log en este ejemplo:

cd %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\
msiexec /i "Windows Driver Testing Framework (WDTF) Runtime Libraries-x64\_en-us.msi" /l\* "%USERPROFILE%\Desktop\WDTFInstall.log"

El MSI de WDTF instala WDTF en %PROGRAMFILES%\Windows Kits\10\Testing\Runtimes\WDTF , ya que en este ejemplo se usa la MSI WDTF de 64 bits, aunque el MSI de WDTF estaba en %PROGRAMFILES(X86)%

Paso 4 : Configurar la máquina para realizar pruebas:

  • Configure la máquina para recopilar volcados completos o adjuntar un depurador de kernel.

  • Dado que las pruebas pueden reiniciar la máquina y tener que controlar los ciclos de suspensión, configure la máquina para que nunca entre en suspensión, nunca apague la pantalla y el registro automático en una cuenta de prueba (netplwiz.exe). Tenga en cuenta que el autologon debe usarse con precaución.

Paso 5 : Ejecutar la prueba. Las pruebas de DevFund se encuentran en %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Tests\Additional Tests\x64\DevFund.

El comando básico para ejecutar una prueba de DevFund tiene el formato:

Te.exe Devfund_<testname>.dll /name:"<test case name>" /p:"DQ=DeviceID='<Device Instance Path of device under test from Device Manager>'" /RebootStateFile:state.xml

Donde <nombre> del caso de prueba es el nombre de la prueba en el binario de prueba.

El modificador / name es opcional. Dado que algunos archivos binarios de prueba contienen varias pruebas, el modificador / name especifica qué pruebas se deben ejecutar. Si no se especifica, todas las pruebas contenidas en el binario de prueba se ejecutan en secuencia. La lista de pruebas de un archivo binario de prueba se puede obtener mediante la ejecución del siguiente comando:

Te.exe Devfund\<testname>.dll /list

Por ejemplo, el Devfund_PnPDTest.dll contiene la mayoría de las pruebas relacionadas con PnP:

Te.exe Devfund_PnPDTest_WLK_Functional.dll /list

Test Authoring and Execution Framework v10.21 for x64

    Devfund_PnPDTest_WLK_Functional.dll

        PNPDTest

            PNPDTest::PNPDisableAndEnableDevice

            PNPDTest::PNPRemoveAndRestartDevice

            PNPDTest::PNPCancelRemoveDevice

            PNPDTest::PNPCancelStopDevice

            PNPDTest::PNPTryStopAndRestartDevice

            PNPDTest::PNPTryStopDeviceRequestNewResourcesAndRestartDevice

            PNPDTest::PNPTryStopDeviceAndFailRestart

            PNPDTest::PNPSurpriseRemoveAndRestartDevice

            PNPDTest::PNPDIFRemoveAndRescanParentDevice

            PNPDTest::DisableEnhancedDeviceTestingSupport

El comando para ejecutar una sola prueba desde este binario de prueba podría tener este aspecto:

c:\temp\Te.exe Devfund_PnPDTest_WLK_Functional.dll /name:PNPDTest::PNPSurpriseRemoveAndRestartDevice* /p:"DQ=DeviceID='my\device\id'" /RebootStateFile:state.xml