Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обзор
Существует несколько способов выполнения тестов DevFund и SysFund с помощью командной строки. Инструкции на этой странице предназначены для выполнения тестов с помощью командной строки с Visual Studio и комплектом драйверов Windows (WDK), но без подготовки тестовой системы с помощью Visual Studio.
Ниже перечислены другие методы выполнения тестов DevFund и SysFund:
Набор аппаратных лабораторий (HLK): тесты можно запускать из командной строки на клиентском тестовом компьютере HLK.
Тестовый компьютер "подготовлен" через Visual Studio: выполнение теста с помощью командной строки
Корпоративный комплект драйверов Windows (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" имеет значение "ВЫПОЛНЯЕТСЯ")sc qc te.service
(Убедитесь, что "START_TYPE" имеет значение "AUTO_START"
Добавьте этот каталог в переменную среды SYSTEM PATH и перезапустите командную строку с повышенными привилегиями.
Шаг 3 . Установка WDTF путем перехода к расположению MSI WDTF (%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\
) и установке пакета для требуемой архитектуры. Укажите расположение и имя файла журнала установки ,%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"
MSI WDTF устанавливает WDTF в %PROGRAMFILES%\Windows Kits\10\Testing\Runtimes\WDTF, так как в этом примере используется 64-разрядная версия MSI WDTF, даже если MSI WDTF располагался в %PROGRAMFILES(X86)%.
Шаг 4 . Настройка компьютера для тестирования:
Настройте компьютер для сбора полных дампов или подключения отладчика ядра.
Поскольку тесты могут потенциально перезагрузить компьютер и необходимо контролировать циклы сна, настройте компьютер так, чтобы не входить в спящий режим, никогда не отключая дисплей, и настроить автоматический вход в тестовую учетную запись (netplwiz.exe). Обратите внимание, что автологон следует использовать с осторожностью.
Шаг 5 . Запуск теста. Тесты DevFund находятся в %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Test\Additional Test\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
Команда для выполнения одного теста из этого двоичного файла теста может выглядеть следующим образом:
c:\temp\Te.exe Devfund_PnPDTest_WLK_Functional.dll /name:PNPDTest::PNPSurpriseRemoveAndRestartDevice* /p:"DQ=DeviceID='my\device\id'" /RebootStateFile:state.xml