コマンド ラインから DevFund テストを実行する方法
概要
コマンド ラインを使用して 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
(「状態」が「START_PENDING」であることを確認します)sc query te.service
(「状態」が「実行中」であることを確認します)sc qc te.service
(「START_TYPE」が「AUTO_START」であることを確認します)
このディレクトリをシステムの PATH 環境変数に追加し、管理者特権でのコマンド プロンプトを再起動します。
手順 3 : WDTF MSI (%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\
) の場所に移動し、目的のアーキテクチャ用のパッケージをインストールして、WDTF をインストールします。 インストール ログ ファイルの場所と名前を指定します (この例では、%USERPROFILE%\Desktop\WDTFInstall.log)。
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 は %PROGRAMFILES%\Windows Kits\10\Testing\Runtimes\WDTF に WDTF をインストール します。この例では、WDTF MSI が %PROGRAMFILES(X86)% 未満であった場合でも、64 ビット WDTF MSI が使用されているためです。
手順 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
この <test case name> はテスト バイナリ内のテスト名です。
/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