Partager via


Comment exécuter les tests DevFund via la ligne de commande

Vue d'ensemble

Il existe plusieurs façons d’exécuter les tests DevFund et SysFund via la ligne de commande. Les instructions de cette page concernent l’exécution des tests via la ligne de commande avec Visual Studio et le Kit de pilotes Windows (WDK), mais sans provisionner le système de test via Visual Studio.

Les autres méthodes d’exécution des tests DevFund et SysFund sont les suivantes :

Paramétrage

Notez que les commandes suivantes doivent être exécutées à partir d’une invite de commandes avec élévation de privilèges/administrateur, car l’installation de WDTF installe les pilotes sur le système. Les instructions ci-dessous supposent que l’architecture système est x64. Les étapes suivantes peuvent devoir être ajustées pour d’autres architectures.

Étape 1 : Installer Visual Studio et le Kit de pilotes Windows (WDK)

Étape 2 : Les tests utilisent le service TAEF .

Pour installer le service TAEF (Te.service), accédez à %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\TAEF\x64 et exécutez les commandes suivantes pour démarrer le service :

  1. wex.services.exe /install:te.service (Vérifiez que te.service a été installé correctement)

  2. sc start te.service (Vérifiez que 'STATE' est 'START_PENDING')

  3. sc query te.service (Vérifiez que « STATE » est « EN COURS D’EXÉCUTION »)

  4. sc qc te.service (Vérifiez que « START_TYPE » est « AUTO_START »)

Ajoutez ce répertoire à la variable d’environnement PATH système et redémarrez l’invite de commandes avec élévation de privilèges.

Étape 3 : Installez WDTF en accédant à l’emplacement du MSI WDTF (%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\) et en installant le package pour l’architecture souhaitée. Spécifiez un emplacement et un nom pour le fichier journal d’installation , %USERPROFILE%\Desktop\WDTFInstall.log dans cet exemple :

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"

Le MSI WDTF installe WDTF dans %PROGRAMFILES%\Windows Kits\10\Testing\Runtimes\WDTF , car cet exemple utilise le MSI WDTF 64 bits même si le MSI WDTF était sous %PROGRAMFILES(X86)%

Étape 4 : Configurer la machine pour le test :

  • Configurez la machine pour collecter des vidages complets ou attacher un débogueur de noyau.

  • Étant donné que les tests peuvent potentiellement redémarrer l’ordinateur et doivent contrôler les cycles de mise en veille, configurez la machine pour qu’elle ne soit jamais mise en veille, ne jamais désactiver l’affichage et se connecter automatiquement à un compte de test (netplwiz.exe). Notez que l’enregistrement automatique doit être utilisé avec précaution.

Étape 5 : Exécuter le test. Les tests DevFund se trouvent dans %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Tests\Additional Tests\x64\DevFund.

La commande de base pour l’exécution d’un test DevFund se présente sous la forme suivante :

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

Où <nom> du cas de test est le nom du test dans le binaire de test.

Le commutateur / name est facultatif. Étant donné que certains fichiers binaires de test contiennent plusieurs tests, le commutateur / name spécifie quels tests doivent être exécutés. S’ils ne sont pas spécifiés, tous les tests contenus dans le binaire de test sont exécutés dans l’ordre. La liste des tests d’un fichier binaire de test peut être obtenue en exécutant la commande suivante :

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

Par exemple, le Devfund_PnPDTest.dll contient la plupart des tests 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

La commande permettant d’exécuter un seul test à partir de ce fichier binaire de test peut ressembler à ceci :

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