Как запустить тестовый файл закодированного пользовательского интерфейса из командной строки Visual Studio с помощью пакетного файла?

@echo off
@setlocal enableextensions
@cd /d "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE"
start %comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat""
MSTest /testcontainer:C:\testdir\test.dll

Показанный выше код запускается против командной строки и меняет каталог на "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE", где находится MSTest.exe. Но последняя строка не запускается в окне командной строки vs, открывает новое окно и пытается запустить в новом открытом окне. Может ли кто-нибудь помочь, как запустить тестовый файл пользовательского интерфейса в открытой командной строке vs с помощью пакетного файла?


person Ruud    schedule 16.08.2013    source источник
comment
к сожалению, ответ не решил мою проблему по этому вопросу.   -  person Ruud    schedule 16.08.2013
comment
start %comspec% /k запускает другое окно, так что не удивляйтесь. Вместо этого попробуйте call "c:\....vcvarsall.bat".   -  person Stephan    schedule 16.08.2013
comment
@Stephan: Раньше я пытался позвонить, но потом я не могу сменить каталог на "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE" после вызова для запуска MSTest   -  person Ruud    schedule 16.08.2013
comment
set testpath="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\" %testpath%MSTest /testcontainer:C:\testdir\bin\Debug\test.dll проблема решена   -  person Ruud    schedule 16.08.2013


Ответы (1)


Я запускаю свои закодированные тесты пользовательского интерфейса со следующим пакетным скриптом:

@echo off
:: Running tests without VS Enterprise is possible if you install the Test Agent package: https://msdn.microsoft.com/en-us/library/dd648127.aspx

set test_runner="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
set test_dlls="C:\Location\Compiled\Tests\Project.CodedUI.Test.dll"

:: If tests is set then only these comma separate test cases are run
:: set tests="Test1,Test2"
set tests=""

if %tests% == "" (
     %test_runner% %test_dlls% > CodedUITestResults.txt
) else (
     %test_runner% %test_dlls% /tests:%tests%
)
pause

Номер визуальной студии должен быть заменен на другую версию

  • VS2015: 14.0
  • VS2013: 12.0
  • И т.д
person Niels van Reijmersdal    schedule 18.01.2016