我是一名测试开发人员,在一家开发自己的硬件的公司工作。现在我在通过 USB 测试硬件连接时遇到了一个问题。以下是测试和问题的简要概述:
测试描述:
- 测试自动化
- 测试在虚拟机中运行(操作系统 Windows 10,虚拟机由 Oracle VirtualBox 虚拟化工具运行)
- 根据设计,测试直接从虚拟机运行
- 在测试中,被测试的硬件重新启动
问题描述:
- 重新启动后,虚拟机将 USB 从设备上断开
- 下一次测试执行时,断开的 USB 设备导致无法与硬件连接
解决这个问题我需要在测试运行期间自动(以编程方式)连接虚拟机的 USB 设备。我发现 Oracle VirtualBox 虚拟化工具有一个 COM 库部分。由于该库的描述清晰明了(在官方网站上提供),使用该库看起来很简单。
显然,不可能直接从虚拟机本身控制虚拟机,因此我需要弄清楚如何让虚拟机与主机进行通信。执行重置后,主机将连接 USB 设备。
我的问题是:
A) 有没有办法重新连接虚拟机上的设备?
B) 使用主机 COM(组件对象模型)的最简单方法是什么?