Compartilhar via


Opções de comando do Te.exe

Usage

<te.exe> test_binaries [/appendWttLogging] [/breakOnCreate] [/breakOnError] [/breakOnInvoke] [/coloredConsoleOutput] [ /console:flushWrites] [/console:position=[x,y | current] [/console:size=<x,y>] [ /console:topmost ][/defaultAppDomain] [/disableConsoleLogging] [/disableTimeout [/dpiaware] [/enableWttLogging] [/inproc] [/isolationLevel] [/labMode] [/list] [/listProperties] [/logFile:<name>] [/logOutput:<mode>] [/miniDumpOnCrash] [/miniDumpOnError] [/name:<testname>] [/outputFolder:<folderName>] [/p:<ParamName>=<ParamValue>] [/parallel] [/persistPictResults] [/pict:<OptionName>=<OptionValue>] [/rebootStateFile] [/reportLoadingIssue] [/runas:<RunAsType>] [/ runIgnoredTests] [/runon:<MachineName>] [/screenCaptureOnError] [/select:<query>] [/sessionTimeout:<value>] [/stackFrameCount:<value>] [/stackTraceOnError] [/terminateOnFirstFailure] [/testDependencies:<files>] [/testmode:Loop] [/testmode:Stress] [/testTimeout:<value>] [ /unicodeOutput:<true/false>] [/version] [/wttDeviceString:<value>] [/wttDeviceStringSuffix:<value>]

Comandos de seleção/execução

test_binaries

Especifique um ou mais arquivos de teste a serem executados (separados por espaços). Há suporte para caracteres curinga.

te.exe test1.dll

Interpretação: Execute todos os testes em test1.dll.

te.exe test1.dll test2.dll test3.dll

Interpretação: Execute todos os testes em test1.dll, test2.dll e test3.dll.

te.exe *.dll

Interpretação: Execute todos os testes em todas as dlls no diretório atual.

/coloredConsoleOutput:<true/false>

Especifica se o TAEF deve ou não gerar texto de console colorido. O padrão é verdadeiro. Se definido como false, TAEF produzirá todo o texto com a cor do console padrão.

te.exe test1.dll /coloredConsoleOutput:false

/console:<optionName>=<value>

Fornece opções para configurar o uso do console pelo TE. As seguintes opções estão disponíveis:

/console:flushWrites

Faz com que a saída do console seja liberada após a gravação de cada linha, útil quando a saída de TE.exetiver sido redirecionada.

/console:position=[x,y | current ]

Define a posição (em pixels) da janela do console em relação ao canto do monitor primário. Use um valor atual para especificar que a posição atual do console deve ser armazenada e usada ao retomar da reinicialização.

/console:size=[ <x,y> | current ]

Define o tamanho da janela do console (em dimensões de caractere). O tamanho do buffer de tela será aumentado para corresponder ao tamanho da janela, se necessário. Use um valor atual para especificar que o tamanho atual do console deve ser armazenado e usado ao retomar da reinicialização.

/console:topmost

Mantém o console em execução te.exe 'topmost' na ordem z da área de trabalho durante a execução.

/dpiaware

Executa testes em um processo marcado como com reconhecimento de DPI, consulte Alta DPI. Isso também pode ser definido por meio de metadados ("DpiAware").

/inproc

Execute todos os testes dentro do próprio processo TE.exe em vez de dentro de TE.ProcessHost.exe.

te.exe test1.dll /inproc

Note

O TE só dá suporte à execução de uma dll de teste por vez ao usar a configuração /inproc .

/isolationLevel:<Level>

Especifica o nível mínimo de isolamento a ser usado ao executar testes TAEF. Se esse valor entrar em conflito com o IsolationLevel especificado como metadados, o valor se tornará o nível de isolamento com o escopo mais apertado. Consulte Isolamento de Teste para obter mais detalhes.

te.exe test1.dll /isolationLevel:Class

/labMode

Executa testes e remove possíveis bloqueios da interface do usuário (por exemplo, caixas de diálogo relatório de erros do Windows em testes com falha).

/list

Lista os nomes de todos os test_binaries e as classes e métodos dentro deles. Se os critérios de seleção forem especificados, listará apenas os nomes daqueles que atendem aos critérios.

 te.exe test1.dll test2.dll /list

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example1
  WEX::UnitTests::Test1::Example2
  WEX::UnitTests::Test1::Example3

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example1
  WEX::UnitTests::Test2::Example2
  WEX::UnitTests::Test2::Example3
 te.exe test1.dll test2.dll /select:@name='*Example2*' /list

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example2

 WEX: :UnitTests::Test2
  WEX::UnitTests::Test2::Example2

/listProperties

Lista os nomes e propriedades de todos os test_binaries e as classes e métodos neles, juntamente com os nomes de funções Setup e Teardown, se disponíveis. Se os critérios de seleção forem especificados, listará apenas os nomes daqueles que atendem aos critérios.

 te.exe test1.dll test2.dll /listProperties

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example1
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = MTA
  WEX::UnitTests::Test1::Example2
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA
  WEX::UnitTests::Test1::Example3
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example1
   Property[ThreadingModel] = MTA
  WEX::UnitTests::Test2::Example2
   Property[ThreadingModel] = STA
  WEX::UnitTests::Test2::Example3
   Property[ThreadingModel] = MTA
 te.exe test1.dll test2.dll /select:@name='*Example2*' /listProperties

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example2
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example2
   Property[ThreadingModel] = STA

/name:<testname>

A seleção baseada em nome de teste é uma alternativa fácil para "/select:@Name='<testname>'". O <nome de> teste ainda pode conter caracteres curinga ("*" e "?"), mas não deve ser contido entre aspas simples. Se /select e /name ambos forem especificados no prompt de comando, /select query tem precedência e /name é ignorado.

te.exe test1.dll /name:*TestToLower

Interpretação: Execute todos os testes em test1.dll em que os nomes de método terminam com 'TestToLower'. O mesmo pode ser representado usando critérios de seleção como /select:@Name='*TestToLower'.

te.exe test1.dll /name:*StringTest*

Interpretação: Execute todos os testes em test1.dll que contêm a frase 'StringTest' em seu namespace, classe ou nome do método.

/outputFolder:<folderName>

Especifica uma pasta para colocar todos os arquivos gerados. O padrão é o diretório atual. Você pode usar variáveis de ambiente, por exemplo:

te.exe test1.dll /outputFolder:%TEMP%\\MyOutput

/p:<ParamName>=<ParamValue>

Define um parâmetro de runtime com parameter name=ParamName e parameter value=ParamValue. Esses parâmetros são acessíveis a partir de um método de teste ou métodos de instalação/limpeza.

te.exe test1.dll /p:x=5 /p:myParm=cool

Você pode pegar x como um dos vários tipos com suporte no código de teste. Por exemplo, aqui você pode nos ver recuperando-o como um int e um WEX::Common::String:

                int x = 0;
                String xString;
                RuntimeParameters::TryGetValue(L"x", x);
                RuntimeParameters::TryGetValue(L"x", xString);

Para obter mais informações, visite o TAEF. Página de ajuda de parâmetros de runtime .

/parallel

Executa testes em paralelo em vários processadores. Os testes devem aceitar a execução paralela sendo marcados com os metadados "Paralelos".

te.exe test1.dll /parallel

Para obter mais informações, visite a página de ajuda paralela .

/persistPictResults

Armazena em cache os resultados gerados por PICT.exe para testes usando PICT DataSource na execução atual. A execução de teste subsequente tentará utilizar os resultados armazenados em cache em relação à execução de PICT.exe no mesmo modelo e arquivos de semente.

/pict:<OptionName>=<OptionValue>

Fornece opções para controlar PICT.exe quando é chamado para testes usando um PICT DataSource. A definição de uma dessas opções atualmente substitui todos os metadados associados no código. As seguintes opções estão disponíveis:

/Pict:Order=3
Define a ordem das combinações passando o valor por meio da opção de comando /o para PICT.exe.

/Pict:ValueSeparator=;
Define o separador de valor passando o valor por meio da opção de comando /d para PICT.exe.

/Pict:AliasSeparator=+
Define o separador de alias passando o valor por meio da opção de comando /a para PICT.exe.

Pict:NegativeValuePrefix=!
Define o prefixo de valor negativo passando o valor por meio da opção de comando /n para PICT.exe.

/Pict:SeedingFile=test.seed
Define o caminho para o arquivo de propagação passando o valor por meio da opção de comando /e para PICT.exe.

/Pict:Random=true
Ativa ou desativa a aleatoriedade nos resultados pict e torna o log da fonte de dados PICT a semente aleatória que foi usada.

/Pict:RandomSeed=33
Define a semente aleatória passando o valor por meio da opção de comando /r para PICT.exe. Definir isso ativará Pict:Random, a menos que Pict:Random esteja explicitamente definido como false.

/Pict:CaseSensitive=true
Quando definido como true, ativa a confidencialidade de maiúsculas e minúsculas passando a opção de comando /c para PICT.exe.

/Pict:Timeout=00:01:30
Define o tempo para esperar que PICT.exe termine antes de encerrar seu processo. O valor está no formato [Day.]Hour[:Minute[:Second[. FractionalSeconds]]].

/runas:<RunAsType>

Executa testes no ambiente especificado. Consulte a documentação do RunAs para obter informações detalhadas de uso.

te.exe *.dll /runas:System

Interpretação: Execute todos os testes como Sistema.

te.exe *.dll /runas:Elevated

Interpretação: Execute todos os testes como um usuário com privilégios elevados.

te.exe *.dll /runas:Restricted

Interpretação: Execute todos os testes como um usuário não elevado.

te.exe *.dll /runas:LowIL

Interpretação: Execute todos os testes em um processo de Baixa Integridade.

/runIgnoredTests

Executa ou lista (se em conjunto com /list ou /listProperties) todos os testes, incluindo classes de teste e métodos de teste com metadados "Ignorar" definidos como "true". Por padrão, classes de teste e métodos de teste com metadados "Ignorar" definidos como "true" são ignorados durante a execução e durante a listagem.

/runon:<MachineName>

Executa testes remotamente, no computador especificado. O TAEF autentica, autoriza e implanta os binários necessários para executar os testes e registra todas as informações de volta no console de origem. Consulte a documentação de Execução de Teste entre Máquinas para obter informações detalhadas de uso.

te.exe *.dll /runon:TestMachine1

Interpretação: Execute todos os testes remotamente em "TestMachine1".

/select:<query>

Os critérios de seleção a serem usados ao selecionar testes de cada binário de teste. Os critérios de seleção são compostos por um ou mais dos seguintes:

@[nome da propriedade] = [valor como cadeia de caracteres]

@[nome da propriedade] >= [valor como float ou inteiro]

@[nome da propriedade] > [valor como float ou inteiro]

@[nome da propriedade] <= [valor como float ou inteiro]

@[nome da propriedade] < [valor como float ou inteiro]

  • Os valores de propriedade como cadeias de caracteres devem estar entre aspas simples.
  • Você pode especificar um critério de seleção composta usando "and", "or" e "not" (não diferencia maiúsculas de minúsculas).
  • Os valores da cadeia de caracteres de propriedade dão suporte a caracteres curinga por meio de caracteres "*" e "?".
  • Para valores flutuantes e inteiros, o caractere "*" também pode ser usado como "existe", mas pode não ser usado para correspondência parcial. Por exemplo: /select:"@Priority=*" é válido, mas /select:"@Priority=4*" não é.

te.exe test1.dll /select:"(@Name='*TestToLower' ou @Owner='C2') e não(@Priority < 3)"

Interpretação: Execute todos os testes em test1.dll em que os nomes de método terminam com 'TestToLower' ou onde o proprietário é 'C2'; e onde a Prioridade não é menor que 3.

te.exe test1.dll test2.dll /select:@Priority=\*

Interpretação: Execute todos os testes em test1.dll e test2.dll em que a Prioridade foi especificada em seus metadados de teste.

te.exe test1.dll /select:@Name='*StringTest*'

Interpretação: Execute todos os testes em test1.dll que contêm a frase 'StringTest' em seu namespace, classe ou nome do método.

/sessionTimeout:<value>

Define um tempo limite de sessão para toda a execução de Te.exe. Se o tempo limite expirar, a sessão de teste será anulada normalmente e o código de saída do processo significará que ocorreu um tempo limite.

Note

O valor de tempo limite deve ser especificado no seguinte formato:

[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]

Note

Se estiver em execução em WTT, esse valor poderá ser usado para garantir que o arquivo de log Wtt permaneça intacto mesmo se a sessão TAEF atingir o tempo limite.

te.exe test1.dll /sessionTimeout:0:0:0.5

Toda a sessão de teste atingirá o tempo limite após 0,5 segundos.

te.exe test1.dll /sessionTimeout:0:0:45

Toda a sessão de teste atingirá o tempo limite após 45 segundos.

te.exe test1.dll /sessionTimeout:0:20

Toda a sessão de teste atingirá o tempo limite após 20 minutos.

te.exe test1.dll /sessionTimeout:5

Toda a sessão de teste atingirá o tempo limite após 5 horas.

te.exe test1.dll /sessionTimeout:1.2

Toda a sessão de teste atingirá o tempo limite após 1 dia e 2 horas.

/terminateOnFirstFailure

Encerra a execução do teste na primeira vez em que uma falha de teste é encontrada. Todas as operações de teardown para esse teste são invocadas, mas todos os testes subsequentes são marcados como ignorados. Devido a um problema conhecido, os testes podem continuar a ser executados ao usar um modo de teste.

te.exe test1.dll /terminateOnFirstFailure

/testDependencies:<files>

Especifica dependências de teste adicionais a serem implantadas ao usar a execução de teste entre máquinas. A menos que um caminho completo seja fornecido, o TAEF pesquisará em relação ao diretório atual, não ao diretório de teste.

te.exe *.dll /runon:TestMachine1 /TestDependencies:test*.jpg; file1.doc

Interpretação: Execute todos os testes remotamente em "TestMachine1" e copie 'test*.jpg' e 'file1.doc' para o computador remoto antes de executar os testes. Cada especificação de arquivo pode conter caracteres curinga (test.txt; teste*.dll; etc.) para corresponder a um ou mais arquivos.

/testTimeout:<value>

Define um tempo limite de teste global para toda a execução de Te.exe. Esse valor substitui todos os metadados de tempo limite de teste que podem ter sido definidos para um determinado teste que está sendo executado.

Note

O valor de tempo limite deve ser especificado no seguinte formato:

[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]

Note

Será ignorado quando usado em conjunto com /inproc.

te.exe test1.dll /testTimeout:0:0:0.5

Cada método de teste e instalação/limpeza terá um tempo limite após 0,5 segundos.

te.exe test1.dll /testTimeout:0:0:45

Cada método de teste e instalação/limpeza terá um tempo limite após 45 segundos.

te.exe test1.dll /testTimeout:0:20

Cada método de teste e instalação/limpeza terá um tempo limite após 20 minutos.

te.exe test1.dll /testTimeout:5

Cada método de teste e instalação/limpeza terá um tempo limite após 5 horas.

te.exe test1.dll /testTimeout:1.2

Cada método de teste e instalação/limpeza terá um tempo limite após 1 dia e 2 horas.

/unicodeOutput:<true/false>

Quando o TE é canalizado para um arquivo de texto, ele gera unicode por padrão. A única exceção a isso é se você tiver solicitado acrescentar a um arquivo ANSII existente (por meio de '>>').

Para substituir esse comportamento, você pode especificar /unicodeOutput:false. Isso forçará o TE a sempre gerar ANSII para o arquivo.

te.exe test1.dll /unicodeOutput:false > output.txt

Configurações do agente

/appendWttLogging

Quando o registro em log do WTT está habilitado, acrescenta ao arquivo de log em vez de substituí-lo. Deve ser usado em conjunto com /enableWttLogging.

te.exe test1.dll /enableWttLogging /appendWttLogging

Será criado ou acrescentado a um arquivo de log chamado TE.wtl após a conclusão da execução do teste.

/enableWttLogging

Habilita o registro em log do WTT; Wttlog.dll deve estar disponível em seu caminho.

te.exe test1.dll /enableWttLogging

Produzirá um arquivo de log chamado TE.wtl após a conclusão da execução do teste.

/defaultAppDomain

Executa testes gerenciados no domínio de aplicativo padrão.

te.exe managed.test1.dll /defaultAppDomain

/disableConsoleLogging

Desabilita a saída do log do console; deve ser usado em conjunto com /enableWttLogging.

te.exe test1.dll /disableConsoleLogging /enableWttLogging

/logFile:<name>

Especifique um nome a ser usado como o arquivo de log wtt; deve ser usado em conjunto com /enableWttLogging.

te.exe test1.dll /logFile:myCustomLogFile.xml /enableWttLogging

Produzirá um arquivo de log chamado myCustomeLogFile.xml após a conclusão da execução do teste.

/logOutput:<mode>

Define o nível de saída do agente. Os valores válidos são:

  • Alta: habilita alguma saída de console adicional, como imprimir um carimbo de data/hora ao lado de cada rastreamento.
  • Baixo: emite apenas eventos principais (início, grupo final etc. ) e erros. O arquivo de log inclui detalhes de prioridade mais baixa que preveem erros para fornecer contexto para falhas.
  • LowWithConsoleBuffering: o mesmo que Baixo, mas inclui o contexto de falhas no arquivo de log e na saída do console.
  • Mais baixo: o mesmo que Baixo, mas a saída do console inclui apenas erros, falhas de teste e o resumo da execução.

/version

Gera informações detalhadas sobre a versão.

/wttDeviceString:<value>

Substitui completamente o WttDeviceString usado pelo WexLogger quando inicializa o WttLogger.

te.exe test1.dll /wttDeviceString:$Console

/wttDeviceStringSuffix:<value>

Acrescenta o valor especificado ao WttDeviceString padrão usado pelo WexLogger quando inicializa o WttLogger. Ignorado se wttDeviceString também for especificado.

te.exe test1.dll /wttDeviceStringSuffix:$Console

Configurações de depuração

/breakOnCreate

Divide o depurador antes de instanciar cada classe de teste.

te.exe test1.dll /breakOnCreate

/breakOnError

Interrompa o depurador se um erro ou falha de teste for registrado.

te.exe test1.dll /breakOnError

/breakOnInvoke

Divide o depurador antes de invocar cada método de teste.

te.exe test1.dll /breakOnInvoke

/disableTimeouts

Desabilita todos os tempos limite durante a execução. Isso pode ser útil durante a depuração para evitar um tempo limite quando o TAEF está aguardando a parte do programa que está sendo depurado.

te.exe test1.dll /disableTimeouts

/miniDumpOnError

Obtém e registra um mini despejo se ocorrer um erro de teste ou falha.

te.exe test1.dll /miniDumpOnError

/miniDumpOnCrash

Obtém e registra um mini despejo se ocorrer uma falha de teste.

te.exe test1.dll /miniDumpOnCrash

/rebootStateFile

Habilita explicitamente a execução de testes de reinicialização .

te.exe test1.dll /rebootStateFile:myFile.xml

/reportLoadingIssue

Exibe uma caixa de diálogo de descrição de erro quando TAEF falha ao carregar uma dll de teste. Deve ser usado apenas para investigação de problemas de carregamento de dll de teste nativo.

te.exe test1.dll /reportLoadingIssue

/screenCaptureOnError

Obtém e registra uma captura de tela se ocorrer um erro de teste ou falha.

te.exe test1.dll /screenCaptureOnError

/stackFrameCount:<value>

Especifica o número de quadros de pilha a serem exibidos ao obter pilhas de chamadas. O valor padrão é 50.

te.exe test1.dll /stackFrameCount:100

/stackTraceOnError

Obtém e registra um rastreamento de pilha se ocorrer um erro de teste ou falha.

te.exe test1.dll /stackTraceOnError

Modos de Teste

/testmode:Loop

Permite controlar a execução usando duas variáveis Loop e LoopTest.

  • Loop: controla quantas vezes toda a execução é executada. Predefinição 1.
  • LoopTest: controla quantas vezes um teste individual é executado. Padrão 10.

te.exe test1.dll /testmode:Loop

Interpretação: Execute cada teste em test1.dll 10 vezes (valor padrão para LoopTest). Toda a execução é executada uma vez (valor padrão para Loop).

te.exe test1.dll test2.dll /testmode:Loop /Loop:3 /LoopTest:1

Interpretação: Execute cada teste em test1.dll e test2.dll uma vez (determinado por LoopTest). Toda a execução (todos os testes combinados em test1.dll e test2.dll) é executada 3 vezes , conforme determinado pelo Loop.

/testmode:Stress

No modo de teste de 'estresse', o TAEF executará testes indefinidamente, até que Ctrl+C seja inserido ou até que uma mensagem WM_CLOSE seja enviada para a janela oculta do TAEF. /testmode:stress deve ser executado em conjunto com /inproc.

te.exe test1.dll /testmode:Stress /inproc

Para obter informações detalhadas e outros parâmetros com suporte nesse modo, consulte Modos de Teste.