对于Web应用开发,测试中有一个很重要的测试是Functional Test(或者叫Integration Test)。
Functional Test除了需要相关的库以外还需要一个Driver,可以是Chrome,Firefox等等。
因为并不是每一个开发机器或者CI服务器都有浏览器的,所以保证测试的可用性是相当重要的。
常用的方法是将浏览器提前下载,放置在项目目录中,纳入版本管理。这样测试的运行就可以直接使用。
但是这种方法有两个问题:
- 将大量文件纳入了版本管理中
- 对于不同平台还需要下载不同平台的Driver
其实还有一个办法就是让构建工具自动下载,下载的时候可以根据平台来下载指定版本。这样即提升了易用性,也降低了切换难度。
这里以phantomjs为例,来看看怎么让Gradle去下载平台相关的phantomjs。
首先明确phantomjs的下载地址,在bitbucket上,https://bitbucket.org/ariya/phantomjs/downloads。
文件名是phantomjs+版本号+平台。
首先对于平台的判断使用commons-io库来操作。
判断代码如下:
下载文件也是common-io库中的FileUtils类。
当然下载之后还需要一个解压过程
同样的思路,对于其他情况,比如Chrome也是试用的,只不过下载地址稍有不同。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2015/03/04/gradle-download-driver/