用Docker处理棘手的依赖
因为我们在测试代码例子中使用了Maven,它处理了除浏览器之外所有的代码依赖。
虽然你可以在兼容Maven的仓库中部署如Firefox的浏览器,以这种方式处理测试依赖,但这不是浏览器这个问题的一般处理方式。浏览器是很挑剔的,它们在不同的版本里行为不尽相同。我们需要一种机制来运行许多不同版本的各种浏览器。
幸运的是,有这样一个叫作Selenium Grid的机制。因为Selenium有可插拔驱动程序的架构,你可以很轻松地在一个客户端服务器架构中将浏览器后端分层。
要使用Selenium Grid,你必须首先决定如何运行服务器的部分。最简单的方式就是使用在线提供商,出于说教的原因,我们先不在这里讨论这种方式。
autotest seleniumgrid目录中包含了使用Docker去启动本地Selenium Grid环境去运行测试的脚本。你可以通过例子中的脚本来运行测试。
关于如何运行Selenium Grid的最新信息可以在项目的GitHub页面上找到。