4

我正在尝试通过使用主机 Mac 上的命令行调用在本地 vm(运行 Windows 7)上启动 selenium 网格节点。

该调用仅尝试在 vm 上运行批处理文件。

当我从 vm 中运行批处理文件时,它会正确执行并且节点启动,所以我知道批处理文件可以正常工作。

我使用的路径是正确的,因为我可以从 vm 上的任何位置运行它。

只是我似乎无法从主机 Mac 调用它。

这在某一时刻有效,但我想知道 Windows 安全更新是否可能把事情搞砸了?

我试图清除我能找到的所有防火墙。我在 MacBook Air 上运行并行 8。

这是我正在使用的语法。

prlctl exec {parallels_vm_name} 'C:\Users\{user_name}\Documents\selenium\startIeNode.bat {IP_address_here}'  
4

3 回答 3

3

你身边的名言

'C:\Users\{user_name}\Documents\selenium\startIeNode.bat {IP_address_here}'

应该在 .bat 之后结束。

这些引号的唯一原因是路径,而不是命令本身。它应该看起来更像:

'C:\Users\{user_name}\Documents\selenium\startIeNode.bat' {IP_address_here}

否则,IP 地址将被设置为路径名的一部分,而不是参数。

于 2014-07-25T17:13:35.860 回答
1

我的设置/用例与您描述的几乎相同:Parallels 8 上的 Win 7 VM。我只是将我的系统设置为完全符合您的要求。

  1. 创建 .bat 文件验证它是否适用于 VM
  2. 创建批处理文件的Windows快捷方式
  3. 将快捷方式拖到 Mac 桌面、文件夹、Dock 等。
  4. 从 Mac 快捷方式启动批处理文件

在连贯模式下,启用从 Mac 启动 Windows 应用程序的 VM 设置,已安装并行工具

于 2013-10-16T15:45:31.850 回答
0

由于事物在 prlctl exec 中传递的方式,命令需要以双斜杠执行,所以它是:

prlctl exec {parallels_vm_name} "C:\\Scripts\\myScript.cmd"
于 2014-02-21T16:08:41.833 回答