2012-07-20 115 views
5

在Windows 7的機器,如果我在終端手動運行這樣的PHPUnit的硒命令:運行命令時如何防止批處理文件(.bat)關閉終端?

phpunit --verbose --log-junit _selenium_tests\results\home.xml _selenium_tests\frontend\home.php 

派生一個瀏覽器,並運行測試就好了。然後它在屏幕上輸出以下內容:

Time: 10 seconds, Memory: 3.50Mb 
OK (1 test, 3 assertions) 

終端保持打開狀態。

現在,如果我將一個空文件中的確切命令複製並粘貼並保存爲test.bat並單擊它,它也會運行測試。我可以看到瀏覽器打開並運行所有測試。唯一的問題是它在關閉終端提示符後。所以我看不到上面的輸出。

一個更大的問題是,因爲它關閉了終端,如果我在其他測試之後添加更多的命令,那麼它們不會運行。

我嘗試添加:

pause 

在bat文件,但沒有運氣的結束,它仍然關閉。任何想法如何防止這種情況,並能夠運行一個接一個的命令而沒有終端關閉?

回答

10

你的問題是類似this one。嘗試在命令前使用call。如果從另一個.bat文件運行.bat文件並且不使用call,則控制不會返回到第一個批處理文件,因此pause不會被執行。

+0

哥們你真棒,只需在所有命令完成之前打電話。現在他們都一個接一個地跑,終端從不關閉。謝謝! – TK123 2012-07-23 15:31:34

+0

很高興能有所幫助。 – alexg 2012-07-24 08:56:53

0
  • 嘗試cmd /K phpunit --verbose --log-junit _selenium_tests\results\home.xml _selenium_tests\frontend\home.php

    cmd /K string/K選項執行字符串指定的命令,但仍然
    看到http://www.computerhope.com/cmd.htm

  • 另外,我不知道的文件類型phpunit命令你執行 - 我不熟悉硒。如果它是批處理文件(即以.bat結尾),則只能從另一個批處理文件中調用它們:調用第二個批處理文件之下的所有內容都不會執行。您需要使用CALL命令。 CALL使用戶能夠從另一個批處理文件內執行批處理文件,
    看到http://www.computerhope.com/call.htm

相關問題