2017-08-03 224 views
0

我正在編寫一個自動化腳本,如果能夠通過我的Python腳本在我的Mac上啓動終端以便啓動Appium服務器,而不是手動執行它,那將是非常好的。通過Python啓動終端並運行命令

我來最接近的是通過使用下面的代碼,但是這只是啓動終端,我無法將命令發送到它:

from subprocess import Popen, PIPE, STDOUT 

    Popen(['open', '-a', 'Terminal', '-n'], stdout=PIPE, stdin=PIPE, stderr=STDOUT) 

我需要能夠推出兩款終端實例和運行以下

  1. 'appium'
  2. 'appium -a 0.0.0.0 -p 4724'
+0

已經刪除了我的意見,寫出了答案。 – iFlo

回答

1

您必須使用communicate將cmd發送到您的終端。

from subprocess import Popen, PIPE, STDOUT 

    p1 = Popen(['open', '-a', 'Terminal', '-n'], stdout=PIPE, stdin=PIPE, stderr=STDOUT) 
    p2 = Popen(['open', '-a', 'Terminal', '-n'], stdout=PIPE, stdin=PIPE, stderr=STDOUT) 

    p1.communicate('appium') 
    p2.communicate('appium -a 0.0.0.0 -p 4724') 
+0

什麼都沒有發送到任何終端窗口。 – cjg123

1

您可以在python執行shell命令是這樣的:

import os 

os.system('appium &') 

這將啓動Appium服務器

+0

終端未啓動,我收到'sh:appium:command not found。' – cjg123

+0

這種方法不會啓動終端。這只是執行你的命令。你安裝了appium嗎? – Reza

+0

Appium已安裝,這會在後臺啓動appium嗎? – cjg123