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:
Hardware Lab Kit (HLK): las pruebas se pueden ejecutar desde la línea de comandos en una máquina de prueba del cliente HLK.
Máquina de prueba "aprovisionada" a través de Visual Studio: Ejecución de pruebas a través de la línea de comandos
Enterprise Windows Driver Kit (EWDK- no requiere Visual Studio): si Visual Studio no está instalado y no se usará, use el EWDK para ejecutar pruebas en la línea de comandos.
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:
wex.services.exe /install:te.service
(Compruebe que te.service se instaló correctamente)sc start te.service
(Compruebe que "STATE" es "START_PENDING")sc query te.service
(Compruebe que "STATE" es "RUNNING")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