使用从主机mac发出的命令在parallels vm上运行批处理文件

时间:2013-09-06 16:02:47

标签: selenium batch-file webdriver virtual-machine parallels

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

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

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

我使用的路径是正确的,因为我可以从虚拟机的任何地方运行它。

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

这在某一方面有效,但我想知道Windows安全更新是否可能搞砸了?

我试图清除我能找到的每个防火墙。我在MacBook Air上运行parallels 8。

这是我正在使用的语法。

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

3 个答案:

答案 0 :(得分: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地址将被设置为路径名的一部分而不是参数。

答案 1 :(得分:1)

我有几乎相同的设置/使用案例:Parallels 8上的Win 7 VM。我只是将我的系统设置为完全按照你想要的那样。

  1. 创建.bat文件验证它是否适用于VM
  2. 创建批处理文件的Windows快捷方式
  3. 将快捷方式拖到Mac桌面,文件夹,Dock等上。
  4. 从Mac快捷方式启动批处理文件
  5. 在一致性模式下,VM设置可启用从Mac启动Windows应用程序,安装并行工具

答案 2 :(得分:0)

由于在prlctl exec中传递内容的方式,命令需要执行双击,因此它将是:

prlctl exec {parallels_vm_name} "C:\\Scripts\\myScript.cmd"