2015-04-02 33 views
0

我有一個.bat文件(超過50行),可以在夜間進行自動化測試。我想擺脫與ping和somehaw線,使命令運行每一個先前在.bat文件中運行多行,每行應等待previus完成

後 - 第一行執行測試

啓動「」「C:\ Program Files文件(x86)的\微軟的Visual Studio 12.0 \ Common7 \ IDE \ 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)的\微軟的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

- 那麼結果文件將BW modev到另一個位置

開始 「」 移動/ Y 「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. 

說明:我的答案,結合到

查看更多about startCommand-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,它的工作。我用開始「」/ B/WAIT – 2015-05-07 08:40:43