通过Python启动终端并运行命令

时间:2017-08-03 13:42:54

标签: python ios macos terminal appium

我正在编写一个自动化脚本,能够通过我的Python脚本在我的mac上启动终端,以便启动Appium服务器,而不是手动执行。

我最接近的是使用以下代码,但这只启动终端,我无法向其发送命令:

    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'

2 个答案:

答案 0 :(得分: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')

答案 1 :(得分:1)

您可以在python中执行shell命令,如下所示:

import os

os.system('appium &')

这将启动Appium服务器