我想使用 VirtualBox vboxmanage 在多台客户机上启动应用程序 进行测试。
就我而言,我有一台 Windows 主机和 Windows 客户机。
使用 vboxmanage 确实会产生应用程序进程(实际上您可以在任务管理器中看到它)但是 不会在访客屏幕上显示该应用程序。
似乎我的应用程序没有屏幕可显示或确实有不同的屏幕...
是否可以使用 vboxmanage 来显示应用程序? 我错过了什么?
谢谢
执行命令的示例:
"C:\Program Files\Oracle\Virtualbox\VBoxManage.exe" guestcontrol "Win64" --password pw --username admin run --exe c:\windows\system32\cmd.exe --putenv JAVA_PATH=c:\tests\jre -- cmd.exe/arg0 /C C:\tests\jre\bin\java.exe -jar c:\tests\sikulix -r c:\tests\test_app.sikuli
答案 0 :(得分:0)
我设法在 Windows 客户机上启动了一个应用程序,并在屏幕上显示了该应用程序,所以如果有人需要类似的东西,我会在这里发布如何做。
在使用 only host network
放置虚拟机以便能够从主机连接到客户机后,
我使用 psexec 与客人互动如下:
psexec.exe \\ipaddress -i 1 -u WORKGROUP\username -p password c:\path\to\my\application.exe -d
关于命令的一些说明:
-i 1
是允许与指定会话的桌面交互的选项-d
可用于不等待进程终止WORKGROUP\username
注意指定工作组为了在多个虚拟机上实现自动化操作,您可以通过解析此命令的结果来确定 ip 地址:
"C:\Program Files\Oracle\Virtualbox\VBoxManage.exe" guestproperty enumerate vmname
或者您可以像下面这样解析来宾上 systeminfo
的结果:
"C:\Program Files\Oracle\Virtualbox\VBoxManage.exe" guestcontrol MyVMname run --username myusername --password my-password --wait-stdout --wait-stderr --exe "C:\Windows\System32\cmd.exe" -- cmd.exe/arg0 /C systeminfo