从python脚本执行Robot框架文件
文件目录:D:/aaa/test/aaa.robot 现在在同一目录中的脚本从python脚本执行Robot框架文件,python,python-2.7,robotframework,Python,Python 2.7,Robotframework,文件目录:D:/aaa/test/aaa.robot 现在在同一目录中的脚本 from subprocess import call import os call(['robot '+os.getcwd()+'\\aaa.robot']) 子流程需要一个列表,但您正在输入一个字符串('robot'+os.getcwd()+'\\aaa.robot') 尝试: 或 这是另一种方法 call(['C:/Python27/Scripts/robot.bat', 'D:/aaa/test/aaa.r
from subprocess import call
import os
call(['robot '+os.getcwd()+'\\aaa.robot'])
子流程
需要一个列表,但您正在输入一个字符串('robot'+os.getcwd()+'\\aaa.robot'
)
尝试:
或
这是另一种方法
call(['C:/Python27/Scripts/robot.bat', 'D:/aaa/test/aaa.robot'])
你们希望这个程序能做什么?我的错,编辑成原来的帖子,thx。这应该只是普通的启动脚本…第一个和main中的结果一样topic@user2678074
robot
程序的完整路径是什么?您是否绝对确定D:/aaa/test/aaa.robot
正确?是。我专门添加了print os.getcwd(),路径是正确的。仔细检查抱歉:)C:\Python27\Scripts\ride.py顺便说一句……它被添加到路径中了:)您可以在终端中键入robot
并运行程序的唯一原因是因为您的计算机知道robot
实际上意味着“C:/Python27/Scripts/robot.bat
robot
是实际程序的别名或“自定义”昵称。这些“昵称”和用户设置称为环境变量。它们只适用于您的用户。从Python的角度来看,robot
毫无意义——它需要可执行文件的完整路径,或者需要在subproces命令中显式设置cwd=
。也许这也行:调用(['robot.bat','D:/aaa/test/aaa.robot',cwd='C:/Python27/Scripts')
这是最好的答案!详细的使用说明可在robot.run.py中找到
/>robot 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'])
import robot
logFile = open('mylog.txt', 'w')
robot.run("tmp.robot",stdout=logFile)