我正在尝试编写一个能够使用多个Linux机器的框架。
例如,我将使用该框架的测试用例能够在linux机器中启动服务器,在另一台Linux机器上启动客户端,然后应该能够在不同的Linux机器上进行一些配置更改等待任何命令完成。
我尝试使用pexpect
来完成我的工作,但没有发现它更有用。
任何人都可以建议我使用任何Python模块来完成我的任务吗?
我的测试用例步骤如下:
1. Login to SIP Server -> su -> start SIP server
2. Login to Voice Server -> su -> make some configuration changes
3. Login to SIP client -> su -> start SIP client
4. Collect logs and perform validations
在我的环境中,我无法像su那样直接登录我的机器。
答案 0 :(得分:2)
你应该考虑使用像python-fabric这样的东西。它允许你使用更高级的语言结构,比如上下文管理器,并且通常可以使用python更好地使用shell。
使用示例:
<强> fabfile.py 强>
from fabric.api import run
def host_type():
run('uname -s')
然后您可以使用host_type
目录中命令行的fabfile.py
:
$ fab -H localhost,linuxbox host_type
[localhost] run: uname -s
[localhost] out: Darwin
[linuxbox] run: uname -s
[linuxbox] out: Linux