今天,我们介绍如何使用VirtualBox和VMware来虚拟化自动化测试的环境。

安装VirtualBox并启动API服务:

  1. 此处以Ubuntu20.04为例,添加以下行到/etc/apt/sources.list
deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian focal contrib;
  1. 依次执行以下命令,安装程序和扩展包;
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

sudo apt-get update
sudo apt-get install virtualbox-6.1 virtualbox-ext-pack
  1. 设置VirtualBox远程桌面使用VNC服务;
VBoxManage setproperty vrdeextpack VNC
  1. 启动VirtualBox服务于指定的IP地址;
vboxwebsrv -H 192.168.0.56
  1. 打开VirtualBox窗口,按照向导,创建并从ios文件安装Win10虚拟机;
  2. 如有需要,也可使用以下命令转换KVM镜像为VirtualBox磁盘格式;
qemu-img convert -f qcow2 -O vdi win10-pro-x64-zh_cn.qcow2 win10-pro-x64-zh_cn.vdi

安装VMware并启动API服务:

  1. 下载VMware WorkStation Player 16的Linux安装包;
  2. 在Ubuntu20.04中,使用以下命令执行安装;
sudo ./VMware-Player-16.1.2-17966106.x86_64.bundle -u vmware-player
  1. 配置认证账号和密码;
sudo vmrest -C
  1. 生成加密证书;
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem \
    -days 365 -nodes
  1. 使用加密证书,启动HTTPS服务;
vmrest -c cert.pem -k key.pem
  1. 打开VirtualBox窗口,按照向导,创建并从ios文件安装Win10虚拟机;
  2. 如有需要,可使用以下命令转换KVM镜像为VMware磁盘格式;
qemu-img convert -f qcow2 win10-pro-x64-zh_cn.qcow2 -O vmdk win10-pro-x64-zh_cn.vmdk

  1. 在浏览器中,访问地址https://127.0.0.1:8697
  2. 在打开的网页中,测试API接口,如:

    • GET /vms:列出所有虚拟机
    • POST /vms:克隆已有虚拟机

在禅道开源的ZAgent自动化测试执行调度项目中,已经集成了VirtualBox和VMware的服务。有关资源调度的实现,可参考这里的ZAgent单元测试代码。

相关文档

VirtualBox 2.2.1网站地址开发文档
VMware Workstation Pro 16网站地址开发文档

专题目录

03-05 18:34