次の方法で共有


コマンド ラインから DevFund テストを実行する方法

概要

コマンド ラインを使用して DevFund テストと SysFund テストを実行するには、いくつかの方法があります。 このページの手順では、Visual Studio と Windows Driver Kit (WDK) を使用してコマンド ラインを使用してテストを実行しますが、Visual Studio を使用してテスト システムをプロビジョニングする必要はありません。

DevFund テストと SysFund テストを実行するためのその他のメソッドは次のとおりです。

セットアップ

WDTF のインストールではシステムにドライバーがインストールされるため、次のコマンドは管理者特権のコマンド プロンプトから実行する必要があることに注意してください。 以下の手順は、システム アーキテクチャが x64 であることを前提としています。 他のアーキテクチャでは、次の手順を調整する必要がある場合があります。

手順 1 : Visual Studio と Windows ドライバー キット (WDK) をインストールする

手順 2 : テストでは TAEF サービスを使用します。

TAEF サービス (Te.service) をインストールするには、%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\TAEF\x64 にアクセスして次のコマンドを実行し、サービスを開始します:

  1. wex.services.exe /install:te.service (te.service が正常にインストールされたことを確認します)

  2. sc start te.service(「状態」が「START_PENDING」であることを確認します)

  3. sc query te.service(「状態」が「実行中」であることを確認します)

  4. 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