【发布时间】:2018-05-03 17:12:25
【问题描述】:
周末一直处于困境中。
我正在尝试创建一个 Python 应用程序,让用户能够运行 .Robot 文件(或测试用例)(在 Python 中)
我正在尝试通过使用“子进程”模块来运行这些文件,但我不断收到以下错误消息:
'FileNotFoundError: [WinError 2] 系统找不到文件 指定'
我已包含“导入子流程”
我还将 .Robot 测试用例的位置声明为变量:
Location = r'C:/Users/verti/PycharmProjects/ChristSax.com/ChristSaxTestSuite/PageSmokeTest.Robot'
在我的代码中,我尝试使用以下语句调用 Robotframework 文件:
def AutomatedSmokePage():
print("Automated Page Smoke Tests now running...")
subprocess.call(['pybot',Location])
我目前使用 Python 3.6.1 和 Robot Framework 3.0.2 版
任何帮助将不胜感激。如果您知道完成相同任务的更好方法,请告诉我。
【问题讨论】:
-
我会首先调用 Robot 而不是通过 pybot 而是作为“python -m robot.run”命令,而不是尝试将机器人调用与 Location 连接为一个字符串。
-
谢谢你的例子,如果不是太麻烦,你能提供一个简单的例子来说明如何做到这一点吗?
-
如果你只打开一个shell/cmd并输入
pybot C:/Users/verti/PycharmProjects/ChristSax.com/ChristSaxTestSuite/PageSmokeTest.Robot会发生什么 -
@Verv:当我在命令提示符中键入位置并单击“Enter”时,.Robot 测试用例开始运行。如果我将位置复制到命令提示符中,空间将显示在 Suite & Robot 中(即 ChristSaxTestSu ite、PageSmokeTest.Ro bot)
-
对于为什么相同的位置变量适用于某些命令而不适用于其他命令,我仍然有点困惑。我发现以下内容也适用于我:
os.chdir("C:/Users//verti/PycharmProjects/ChristSax.com/ChristSaxTestSuite/")os.system('pybot -N PageSmokeTest -r ' 'AutomatedSmokeTest.html -l AutomatedSmokeTest.html -o ' 'AutomatedSmokeTest.xml AutomatedSmokeTest.robot')
标签: python python-3.x robotframework