Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Descrição geral
Há várias maneiras de executar os testes DevFund e SysFund por meio da linha de comando. As instruções nesta página são para executar os testes por meio da linha de comando com o Visual Studio e o Kit de Driver do Windows (WDK), mas sem provisionar o sistema de teste via Visual Studio.
Outros métodos para executar os testes DevFund e SysFund incluem:
Hardware Lab Kit (HLK): Os testes podem ser executados a partir da linha de comando em uma máquina de teste de cliente HLK
Máquina de teste "provisionada" através do Visual Studio: Executando o teste através da linha de comando
Enterprise Windows Driver Kit (EWDK- não requer Visual Studio): Se o Visual Studio não estiver instalado e não for usado, use o EWDK para executar testes na linha de comando
Configuração
Note que os comandos a seguir devem ser executados a partir de um prompt de comando elevado/administrador, visto que a instalação do WDTF adiciona controladores ao sistema. As instruções abaixo assumem que a arquitetura do sistema é x64. As etapas a seguir podem precisar ser ajustadas para outras arquiteturas.
Etapa 1 : Instalar o Visual Studio e o Kit de Driver do Windows (WDK)
Passo 2 : Os testes utilizam o serviço TAEF .
Para instalar o serviço TAEF (Te.service), vá para %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\TAEF\x64 e execute os seguintes comandos para iniciar o serviço:
wex.services.exe /install:te.service(Verifique se o te.service foi instalado com êxito)sc start te.service(Verifique se 'STATE' é 'START_PENDING')sc query te.service(Verifique se 'STATE' é 'RUNNING')sc qc te.service(Verifique se 'START_TYPE' é 'AUTO_START')
Adicione este diretório à variável de ambiente PATH do sistema e reinicie o prompt de comando elevado.
Etapa 3 : Instale o WDTF navegando até o local do WDTF MSI (%PROGRAMFILES(X86)%\Windows Kits\10\Testing\Runtimes\) e instalando o pacote para a arquitetura desejada. Especifique um local e um nome para o arquivo de log de instalação %USERPROFILE%\Desktop\WDTFInstall.log neste exemplo:
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"
O WDTF MSI instala o WDTF para %PROGRAMFILES%\Windows Kits\10\Testing\Runtimes\WDTF, pois este exemplo está usando o WDTF MSI de 64 bits, mesmo que o WDTF MSI estivesse sob %PROGRAMFILES(X86)%
Etapa 4 : Configurar a máquina para teste:
Configure a máquina para coletar dumps completos ou anexar um depurador do kernel.
Como os testes podem potencialmente reiniciar a máquina e precisam controlar os ciclos de suspensão, configure a máquina para nunca suspender, nunca desligar o visor, e iniciar sessão automaticamente numa conta de teste (netplwiz.exe). Observe que o logon automático deve ser usado com cuidado.
Passo 5 : Execute o teste. Os testes do DevFund estão localizados em %PROGRAMFILES(X86)%\Windows Kits\10\Testing\Tests\Additional Tests\x64\DevFund.
O comando básico para executar um teste DevFund é do formato:
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
Onde <nome> do caso de teste é o nome do teste no binário de teste.
A opção / name é opcional. Como alguns binários de teste contêm vários testes, a opção / name especifica quais testes devem ser executados. Se não for especificado, todos os testes contidos no binário de teste são executados em sequência. A lista de testes em um binário de teste pode ser obtida executando o seguinte comando:
Te.exe Devfund\<testname>.dll /list
Por exemplo, o Devfund_PnPDTest.dll contém a maioria dos testes relacionados ao 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
O comando para executar um único teste a partir deste binário de teste pode ter esta aparência:
c:\temp\Te.exe Devfund_PnPDTest_WLK_Functional.dll /name:PNPDTest::PNPSurpriseRemoveAndRestartDevice* /p:"DQ=DeviceID='my\device\id'" /RebootStateFile:state.xml