2015-04-02 1 views
0

У меня есть .bat-файл (с более чем 50 строк), который запускает тесты автоматизации в течение ночи. Я хочу, чтобы избавиться от линий с пингом и somehaw, чтобы команды запуска каждых из них после предыдущегоЗапустите несколько строк в файле .bat, и каждая строка должна ждать превизии до конца.

- Первой линии выполнить тест

старта «» «C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ язь \ MSTest.exe "/testcontainer:c:\deploy\AutomationTest\273\AutomationMedical-AddRadiation.dll /resultsfile:AutomationMedical-AddRadiation.trx

- Вторая линия ожидания в течение 300 секунд до проведения испытания

пинг 127.0.0.1 -n 300> нулевого

- третья линия будет публиковать Тест

старта "" «C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ кубометр "работа/публикации/suiteid: 906/configid: 2/resultowner: "пОЛЬЗОВАТЕЛЬ" /resultsfile:"c:\temp\AutomationMedical-AddRadiation.trx"/коллекция: http://testenvironment:8080/tfs/Test/teamproject:Test

- снова ждать, пока это не Опубликовано ping 127.0.0.1 -n 10> null

- Тогда результирующий файл будет м.т. modev в другое место

старт "" переместить/у "C: \ Temp \ AutomationMedical-AddRadiation.trx" «C: \ Temp \ плавленых \ AutomationMedical-AddRadiation% RANDOM % .trx»

пинг 127.0.0.1 -n 10> нулевой

и эти шаги выполняются для каждого теста (и много тестов). Thx для справки.

ответ

0

Вот моя рекомендация: использовать либо

start "" /B /WAIT "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\ide\mstest.exe"/testcontainer:c:\deploy\AutomationTest\273\AutomationMedical-AddRadiation.dll /resultsfile:AutomationMedical-AddRadiation.trx 
start "" /B /WAIT "c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tcm" run /publish /suiteid:906 /configid:2 /resultowner:"USer" /resultsfile:"c:\temp\AutomationMedical-AddRadiation.trx" /collection:http://testenvironment:8080/tfs/Test/teamproject:Test 
move /y "c:\temp\AutomationMedical-AddRadiation.trx" "c:\temp\Processed\AutomationMedical-AddRadiation%RANDOM%.trx" 
:: etc. 

или, вы можете опустить все start "" /B /WAIT и использовать просто

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\ide\mstest.exe"/testcontainer:c:\deploy\AutomationTest\273\AutomationMedical-AddRadiation.dll /resultsfile:AutomationMedical-AddRadiation.trx 
"c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tcm" run /publish /suiteid:906 /configid:2 /resultowner:"USer" /resultsfile:"c:\temp\AutomationMedical-AddRadiation.trx" /collection:http://testenvironment:8080/tfs/Test/teamproject:Test 
move /y "c:\temp\AutomationMedical-AddRadiation.trx" "c:\temp\Processed\AutomationMedical-AddRadiation%RANDOM%.trx" 
:: etc. 

Объяснение: Объединяя мои ответы на

Подробнее о: start: Command-Line Reference.

Примечаниеmove - внутренняя команда; для внутренней команды cmd или пакетного файла, /WAIT переключатель вызывает запуск CMD /K.

Следовательно, move /y source destination эквивалентно, по отношению к /B и /WAIT переключатели комбинации, чтобы

start "" /B /WAIT move /y source destination^&exit /B 

Примечание ^&exit /B и примечание спасся & здесь ...

+0

Спасибо @JosefZ, он работал. я использовал start ""/B/WAIT –

Смежные вопросы