Udostępnij przez


Jak uruchomić testy DevFund za pomocą wiersza polecenia

Przegląd

Istnieje kilka sposobów uruchamiania testów DevFund i SysFund za pośrednictwem wiersza polecenia. Instrukcje na tej stronie dotyczą uruchamiania testów za pośrednictwem wiersza polecenia w programie Visual Studio i zestawie Sterowników systemu Windows (WDK), ale bez aprowizowania systemu testowego za pośrednictwem programu Visual Studio.

Inne metody uruchamiania testów DevFund i SysFund obejmują:

Instalacja

Należy pamiętać, że następujące polecenia muszą być wykonywane z wiersza polecenia z podwyższonym poziomem uprawnień/administratora, ponieważ instalacja programu WDTF instaluje sterowniki w systemie. W poniższych instrukcjach przyjęto założenie, że architektura systemu to x64. W przypadku innych architektur może być konieczne dostosowanie poniższych kroków.

Krok 1 . Instalowanie programu Visual Studio i zestawu sterowników systemu Windows (WDK)

Krok 2 . Testy korzystają z usługi TAEF .

Aby zainstalować usługę TAEF (Te.service), przejdź do %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\TAEF\x64 strony i uruchom następujące polecenia, aby rozpocząć pracę usługi:

  1. wex.services.exe /install:te.service (Sprawdź, czy plik te.service został zainstalowany pomyślnie)

  2. sc start te.service (Sprawdź, czy element "STATE" ma wartość "START_PENDING")

  3. sc query te.service (Sprawdź, czy element "STATE" jest uruchomiony)

  4. sc qc te.service (Sprawdź, czy wartość "START_TYPE" to "AUTO_START")

Dodaj ten katalog do zmiennej środowiskowej PATH systemu i uruchom ponownie wiersz polecenia z podwyższonym poziomem uprawnień.

Krok 3 . Zainstaluj program WDTF , przechodząc do lokalizacji pliku MSI WDTF (%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\) i instalując pakiet dla żądanej architektury. Określ lokalizację i nazwę pliku dziennika instalacji, %USERPROFILE%\Desktop\WDTFInstall.log w tym przykładzie:

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"

Plik MSI WDTF instaluje WDTF do %PROGRAMFILES%\Windows Kits\10\Testing\Runtimes\WDTF, ponieważ w tym przykładzie używany jest 64-bitowy MSI WDTF, chociaż MSI WDTF było w %PROGRAMFILES(X86)%

Krok 4 . Konfigurowanie maszyny do testowania:

  • Skonfiguruj maszynę do zbierania pełnych zrzutów lub podłącz debuger jądra.

  • Ponieważ testy mogą potencjalnie ponownie uruchomić maszynę i muszą kontrolować cykle uśpienia, skonfiguruj maszynę, aby nigdy nie zasypiała, nigdy nie wyłączała wyświetlacza i automatycznie logowała się do konta testowego (netplwiz.exe). Należy pamiętać, że autologon powinien być używany ostrożnie.

Krok 5 . Uruchomienie testu. Testy DevFund znajdują się w %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Tests\Additional Tests\x64\DevFund.

Podstawowym poleceniem do uruchamiania testu DevFund jest polecenie w formacie:

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

Gdzie <nazwa przypadku testowego to nazwa> testu w pliku binarnym testowym.

Przełącznik / name jest opcjonalny. Ponieważ niektóre pliki binarne testów zawierają wiele testów, przełącznik / name określa, które testy mają być uruchamiane. Jeśli nie określono, wszystkie testy zawarte w pliku binarnym testowym są wykonywane w sekwencji. Listę testów w pliku binarnym testowym można uzyskać, uruchamiając następujące polecenie:

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

Na przykład Devfund_PnPDTest.dll zawiera większość testów związanych z 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

Polecenie uruchamiania pojedynczego testu z tego pliku binarnego może wyglądać następująco:

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