Google推出一系列Android模拟器工具强化持续测试的支援

Google现在除了开源Android模拟器容器脚本(Emulator Container Script),还推出了Android模拟器下载脚本以及Android模拟器Docker映像档产生器,强化测试环境的可部署性,并且增加开发者深入测试环境并诊断错误的能力,以提升测试的可除错性。
Google提到,开发人员经常会在提交程式码之前,使用Android模拟器来测试最新的程式码更改,而且越来越多开发人员,开始将模拟器用在持续整合系统中,执行一系列的自动化测试,而为了更良好地支援这样的使用案例,Google发布了一系列解决方案。首先是开源了Android模拟器容器脚本,这是一组最小的脚本,可在Docker等各种容器中执行模拟器。
而针对可部署性问题,Google推出了Android模拟器下载脚本,以及Android模拟器Docker映像档产生器。Google提到,由于Android和Android模拟器都支援多种的硬件和软件配置,这样的多样性可能会使开发者对配置环境感到混乱,而Android模拟器下载脚本,则可以提供最新的模拟器映像档列表,以及模拟器的二元档案,开发者可以将其和现有的持续整合系统整合。未来Google还会增加已遭弃用的版本,让开发者可重新呈现历史版本测试结果。
Android模拟器Docker映像档产生器可以方便产生Android模拟器执行的环境,Google提到,Android系统映像档以及模拟器都只是测试的一部分,因为环境设定、驱动程式以及预先安装的系统相依项目,也影响着应用程序执行的结果,而现在Google将环境相关的部署,以Docker映像档产生器的方式提供。目前Docker映像档产生器只能在Linux上执行,未来Google还会增加MacOS与Windows主机的支援。
另外,对于应用程序开发的可除错性改进,Google提到,当模拟器或是执行的测试故障时,目前难以深入执行的环境并诊断错误发生原因,因为诊断通常需要直接操作虚拟装置,为此,Google现在提供了两种操作的机制ADB以及远端串流,在ADB的方式,系统允许所有诸如logcat和壳层的指令,直接从Docker访客转送到主机中,目前使用的埠口为5555,Google提到他们还需要收集更多的回馈,来决定跨不同容器隔离埠口的最佳方法。
而远端串流的方法,开发者可以在容器中执行模拟器,而在容器中执行的模拟器,可以更简单地使用ADB指令为难以解决的问题除错,开发者可以使用提供WebRTC和gRPC功能的浏览器存取模拟器,WebRPC能用来串流影像,而gRPC则能将鼠标和键盘事件发送到模拟器中。
Google也提醒,使用远端串流需要特别注意,一旦服务启动,任何可以连接到电脑的人,都可以透过连接埠80/443和模拟器互动,因此在公共服务器上测试要特别小心。
