Come eseguire i test Dev Fund tramite la riga di comando
Panoramica
Esistono diversi modi per eseguire i test Dev Fund e Sys Fund tramite la riga di comando. Le istruzioni in questa pagina sono per l'esecuzione dei test tramite la riga di comando con Visual Studio e Windows Driver Kit (WDK), ma senza effettuare il provisioning del sistema di test tramite Visual Studio.
Altri metodi per l'esecuzione dei test Dev Fund e SysFund includono:
Hardware Lab Kit (HLK): i test possono essere eseguiti dalla riga di comando in un computer di test client HLK
Testare il computer di cui è stato effettuato il provisioning tramite Visual Studio: esecuzione di test tramite la riga di comando
Enterprise Windows Driver Kit (EWDK- non richiede Visual Studio): se Visual Studio non è installato e non verrà usato, usare EWDK per eseguire test nella riga di comando
Configurazione
Si noti che i comandi seguenti devono essere eseguiti da un prompt dei comandi con privilegi elevati/amministratore perché l'installazione di WDTF installa i driver nel sistema. Le istruzioni seguenti presuppongono che l'architettura di sistema sia x64. Potrebbe essere necessario modificare i passaggi seguenti per altre architetture.
Passaggio 1 : Installare Visual Studio e Windows Driver Kit (WDK)
Passaggio 2 : I test usano il servizio TAEF .
Per installare il servizio TAEF (Te.service), passare a %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\TAEF\x64
ed eseguire i comandi seguenti per iniziare il servizio:
wex.services.exe /install:te.service
(Verificare che te.service sia stato installato correttamente)sc start te.service
(Verificare che 'STATE' sia 'START_PENDING')sc query te.service
(Verificare che 'STATE' sia 'RUNNING')sc qc te.service
(Verificare che "START_TYPE" sia "AUTO_START")
Aggiungere questa directory alla variabile di ambiente PATH di sistema e riavviare il prompt dei comandi con privilegi elevati.
Passaggio 3 : Installare WDTF passando al percorso dell'identità del servizio gestito WDTF (%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\
) e installando il pacchetto per l'architettura desiderata. Specificare un percorso e un nome per il file di log di installazione, %USERPROFILE%\Desktop\WDTFInstall.log in questo esempio:
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"
L'identità del servizio gestito WDTF installa WDTF in %PROGRAMFILES%\Windows Kits\10\Testing\Runtimes\WDTF poiché questo esempio usa l'identità del servizio gestito WDTF a 64 bit anche se l'identità del servizio gestito WDTF era in %PROGRAMFILES(X86)%
Passaggio 4 : Configurare il computer per il test:
Configurare il computer per raccogliere dump completi o collegare un debugger del kernel.
Poiché i test possono potenzialmente riavviare il computer e devono controllare i cicli di sospensione, configurare il computer per non dormire mai, non disattivare mai la visualizzazione e l'accesso automatico a un account di test (netplwiz.exe). Si noti che l'accesso automatico deve essere usato con cautela.
Passaggio 5 : Eseguire il test. I test DevFund si trovano in %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Tests\Additional Tests\x64\Dev Fund.
Il comando di base per l'esecuzione di un test Dev Fund è nel formato seguente:
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
Dove <il nome> del test case è il nome del test nel file binario di test.
L'opzione / name è facoltativa. Poiché alcuni file binari di test contengono più test, l'opzione / name specifica quali test devono essere eseguiti. Se non specificato, tutti i test contenuti nel file binario di test vengono eseguiti in sequenza. È possibile ottenere l'elenco dei test in un file binario di test eseguendo il comando seguente:
Te.exe Devfund\<testname>.dll /list
Ad esempio, il Devfund_PnPDTest.dll contiene la maggior parte dei test correlati al 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
Il comando per eseguire un singolo test da questo file binario di test potrebbe essere simile al seguente:
c:\temp\Te.exe Devfund_PnPDTest_WLK_Functional.dll /name:PNPDTest::PNPSurpriseRemoveAndRestartDevice* /p:"DQ=DeviceID='my\device\id'" /RebootStateFile:state.xml