透過指令控制虛擬機器

測試工作常利用到虛擬化技術,這大大增加了使用彈性(需要時再打開就好),也減少了實體機器數量。在 Mac 上比較常用的是 VMware Fusion、VirtualBox,以及 Parallels Desktop。

既然要自動化,透過 command line 去控制虛擬機器的能力就是不可或缺的。我們需要在執行測試前,先將虛擬機器叫起來,測試完成後再把機器關掉。上網查了一下,各家都有提供工具程式,讓你透過指令直接控制虛擬機器。

這邊先介紹 VirtualBox 與 VMware Fusion 提供的工具。Parallels 似乎只針對進階的 Enterpise 版本提供 prlctl 這個控制工具,一般的版本沒辦法使用。

VirtualBox – VBoxManage

安裝 VirtualBox 之後,就可以直接透過 terminal 呼叫 VBoxManage,常用的指令是 pause 與 resume:

VBoxManage controlvm [vm id] pause

例如:VBoxManage controlvm “Win 7″ pause

VBoxManage controlvm [vm id] resume

例如:VBoxManage controlvm “Win 7″ resume

詳細文件請參考:https://www.virtualbox.org/manual/ch08.html

VMware Fusion – vmrun

vmrun 這個執行檔藏在 /Applications/VMware Fusion.app/Contents/Library 裡面,建議把這個路徑加入 PATH,執行起來比較方便。

常用的兩個指令為 start 與 suspend:

vmrun start [虛擬機設定檔 vmx 的路徑]

例如:vmrun start ~/Documents/VM/Windows7.vmwarevm/Windows7.vmx

vmrun suspend [虛擬機設定檔 vmx 的路徑]

例如:vmrun suspend ~/Documents/VM/Windows7.vmwarevm/Windows7.vmx

詳細文件請參考:https://www.vmware.com/support/developer/vix-api/vix111_vmrun_command.pdf

其他應用

你也可以透過 Mac 的 Automator,將指令包裝成可執行的應用程式。只要滑鼠點兩下,就能把虛擬機器打開、關閉。

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s