2012-07-20 13 views
5

Su una macchina Windows 7 se esegue un comando PHPUnit Selenio come questo manualmente nel terminale:Come impedire il file batch (.bat) dal terminale di chiusura durante l'esecuzione dei comandi?

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

Si genera un browser e esegue il test più che bene. Quindi visualizza quanto segue sullo schermo:

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

E il terminale rimane aperto.

Ora se si copia e incolla il comando esatto in un file vuoto e lo si salva come test.bat e si fa clic, viene eseguito anche il test. Posso vedere il browser aperto e tutti i test eseguiti. L'unico problema è che chiude il prompt del terminale subito dopo. Quindi non riesco a vedere l'output di cui sopra.

Un problema ancora più grande è che, poiché chiude il terminale se aggiungo altri comandi per altri test dopo quello iniziale, non vengono eseguiti.

Ho provato ad aggiungere:

pause 

alla fine del file bat ma senza fortuna, si chiude ancora. Qualche idea su come prevenirlo ed essere in grado di eseguire un comando dopo l'altro senza mai chiudere il terminale?

risposta

10

La tua domanda è simile a this one. Prova a utilizzare call davanti al tuo comando. Se si esegue un file .bat da un altro file .bat e non si utilizza call, il controllo non torna al primo file batch, quindi pause non viene eseguito.

+0

amico sei fantastico, semplicemente mettendo la chiamata prima che tutti i comandi lo facessero. Ora corsero tutti uno dopo l'altro e il terminale non si chiuse mai. Grazie! – TK123

+0

Felice di essere di aiuto. – alexg

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

    L'opzione /K in cmd /K stringeffettua il comando specificato dalla stringa e rimane,
    vedere http://www.computerhope.com/cmd.htm

  • Inoltre, non so il tipo di file del Comando phpunit - Non ho familiarità con il selenio. Se è un file batch (vale a dire con .bat), non è possibile chiamarli da un altro file batch: tutto ciò che si trova al di sotto della chiamata al secondo file batch non verrà mai eseguito.

    È quindi necessario utilizzare il comando CALL. CALLconsente all'utente di eseguire un file batch da un altro file batch,
    vedere http://www.computerhope.com/call.htm

Problemi correlati