从python脚本执行Robot Framework文件

时间:2016-04-08 14:09:54

标签: python python-2.7 robotframework

from subprocess import call
import os

call(['robot '+os.getcwd()+'\\aaa.robot'])

file_dir:D:/aaa/test/aaa.robot

现在在同一个目录中的

脚本

Output:
Traceback (most recent call last):
  File "__init.py", line 7, in <module>
    call(['robot '+os.getcwd()+'\\aaa.robot'])
  File "C:\Python27\lib\subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "C:\Python27\lib\subprocess.py", line 710, in __init_
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 958, in _execut
    startupinfo)
WindowsError: [Error 2] Nie mo┐na odnalečŠ okreťlonego pliku

我无法处理它。我不明白为什么在python中调整任何东西都是如此复杂:(

我想要与此行相同的结果(直接写入cmd):

/>robot aaa.robot

2 个答案:

答案 0 :(得分:6)

这是另一种方式

import robot

logFile = open('mylog.txt', 'w') 
robot.run("tmp.robot",stdout=logFile)

答案 1 :(得分:4)

subprocess需要一个列表,但您输入了一个字符串('robot '+os.getcwd()+'\\aaa.robot')。

尝试:

call(['C:/Python27/python.exe', '-m', 'robot', 'D:/aaa/test/aaa.robot'])

call(['C:/Python27/Scripts/robot.bat', 'D:/aaa/test/aaa.robot'])