2017-08-03 222 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