【发布时间】:2017-02-24 03:11:43
【问题描述】:
我在 Windows10 和 Mac Sierra/El Capitan 上使用 Robotframework 3.0。我尝试在两个系统上使用 RF 操作系统库中的“复制文件”,但在 Mac 上它不起作用。这是 Mac 上的脚本:
Copy file Testfiles${/}${file} ${MyDir}
List Directory ${MyDir}
Run Process open . /select,${MyDir}${/}${file} //open . opens the finder
Sleep 5
Press Ctrl NUMPAD5 //Right click on Mac
Sleep 1
Send Keys e
我收到以下错误:
OSError:无法运行程序“打开”。 (在目录“/Users/rj/PycharmProjects/automation”中):error=2,没有这样的文件或目录
适用于 Windows 的脚本:
Copy file Testfiles${/}${file} ${MyDir}
List Directory ${MyDir}
Run Process explorer.exe /select,${MyDir}${/}${file}
Sleep 5
Press Alt and Function 10 //Right click on Windows
Sleep 1
Send Keys e
其中:Testfiles 是一个目录,我想将 {file} 复制到其他目录 {MyDir}。发送键,“Press Alt and Function 10”是在我的 Java 库上创建的关键字
RF 会打开 Testfiles 目录,但没有选择要复制的“文件”。这种情况仅在 Mac 中发生,并且相同的脚本在 Windows 上也能完美运行。
PS:我已经根据 Windows 和 Mac 更改了 {MyDir} 的路径。
【问题讨论】:
-
“不工作”和“不选择”究竟是什么意思?你为什么认为
Copy file“选择”一个文件?您是否收到任何日志消息、任何错误? -
不工作意味着它实际上没有做任何事情,它打开目录“Testfiles”并停留30秒并且有超时。我认为
Copy file选择了一个文件,因为当我在 Windows 上运行它时,我看到了文件选择,但在 Mac 上看不到 -
移动文件时如何“选择”文件? “选定”意味着您已经打开了一个窗口并突出显示了一个文件。另外,当机器人超时时,您会收到什么错误或日志消息?
-
我的错。复制文件有效,我验证了报告并得到了愚蠢的错误。问题在于 Windows 上的这段脚本
Run Process explorer.exe /select,${MyDir}${/}${file}正在打开文件,但我在 Mac 上用Run Process open . /select,${MyDir}${/}${file}替换了这个脚本。在 Mac 上,它会抛出无法运行“open”的错误。如果我使用“运行”而不是“运行进程”,那么它可以工作,但我无法看到目录,因为我必须在之后右键单击。有什么办法可以打开目录吗?在具有上述 cmd 的 Windows 中,它会打开目录,但在 Mac 上不会。 -
你的标题仍然说问题出在
Copy File。您需要编辑问题和标题,以便清楚问题在于运行“打开”命令,而不是文件的实际复制。
标签: macos robotframework