概要
コマンド ラインを使用して DevFund テストと SysFund テストを実行するには、いくつかの方法があります。 このページの手順では、Visual Studio と Windows Driver Kit (WDK) を使用してコマンド ラインを使用してテストを実行しますが、Visual Studio を使用してテスト システムをプロビジョニングする必要はありません。
DevFund テストと SysFund テストを実行するためのその他のメソッドは次のとおりです。
Hardware Lab Kit (HLK): HLK クライアント テスト マシンでコマンド ラインからテストを実行できます
Visual Studio を使用してテスト マシンを "プロビジョニング" する: コマンド ラインを使用したテストの実行
Enterprise Windows Driver Kit (EWDK- は Visual Studio を必要としません): Visual Studio がインストールされておらず、使用されない場合は、EWDK を使用してコマンド ラインでテストを実行します
セットアップ
WDTF のインストールではシステムにドライバーがインストールされるため、管理者特権でのコマンド プロンプトから次のコマンドを実行する必要があることに注意してください。 以下の手順では、システム アーキテクチャが x64 であることを前提としています。 次の手順は、他のアーキテクチャに合わせて調整する必要がある場合があります。
手順 1: Visual Studio と Windows ドライバー キット (WDK) をインストールする
手順 2 : テストでは TAEF サービスを使用します。
TAEF サービス (Te.service) をインストールするには、 %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\TAEF\x64
に移動し、次のコマンドを実行してサービスを開始します。
wex.services.exe /install:te.service
(te.service が正常にインストールされたことを確認する)sc start te.service
('STATE' が 'START_PENDING' であることを確認します)sc query te.service
('STATE' が 'RUNNING' であることを確認します)sc qc te.service
('START_TYPE' が 'AUTO_START' であることを確認します)
このディレクトリをシステム PATH 環境変数に追加し、管理者特権でのコマンド プロンプトを再起動します。
手順 3 : WDTF MSI (%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\
) の場所に移動し、目的のアーキテクチャのパッケージをインストールして、WDTF をインストールします。 インストール ログ ファイルの場所と名前を指定します。この例 では、\Desktop\WDTFInstall.log を%USERPROFILE% します。
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"
WDTF MSI は、この例では 64 ビット WDTF MSI が使用されているため、WDTF を %PROGRAMFILES%\Windows Kits\10\Testing\Runtimes\WDTF にインストールします。これは、WDTF MSI が %PROGRAMFILES(X86)% の下にあった場合でもです。
手順 4 : テスト用にマシンを構成する:
完全なダンプを収集するか、カーネル デバッガーをアタッチするようにマシンを構成します。
テストはマシンを再起動する可能性があり、スリープ サイクルを制御する必要があるため、スリープしない、ディスプレイをオフにしない、テスト アカウント (netplwiz.exe) への自動ログオンを実行するようにマシンを構成します。 自動ログオンは慎重に使用する必要があることに注意してください。
手順 5 : テストを実行します。 DevFund テストは 、%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Tests\Additional Tests\x64\DevFund にあります。
DevFund テストを実行するための基本的なコマンドは、次の形式です。
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
ここで <テスト ケース名> テスト バイナリ内のテストの名前です。
/ name スイッチは省略可能です。 一部のテスト バイナリには複数のテストが含まれるため、/ name スイッチは実行するテストを指定します。 指定しない場合、テスト バイナリに含まれるすべてのテストが順番に実行されます。 テスト バイナリ内のテストの一覧は、次のコマンドを実行して取得できます。
Te.exe Devfund\<testname>.dll /list
たとえば、Devfund_PnPDTest.dll には、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
このテスト バイナリから 1 つのテストを実行するコマンドは、次のようになります。
c:\temp\Te.exe Devfund_PnPDTest_WLK_Functional.dll /name:PNPDTest::PNPSurpriseRemoveAndRestartDevice* /p:"DQ=DeviceID='my\device\id'" /RebootStateFile:state.xml