基于Docker配置Appium实践
基于Docker配置Appium实践
背景
公司常年闲置一台主机,之前装了 Ubuntu 16.04 Desktop,上面的环境基本配置完毕,但在运行Appium时偶尔会出现无法找到SDK的情况。前段时间在搭建STF时已经领略到Docker部署的方便,加上访问这台主机的主要方法是在Mac上ssh,桌面版实在对我没什么用,索性卸载重装 Ubuntu 16.04 Server + Docker,并且尽量将所需服务用Docker搭建。(Docker对于软件洁癖实在太友好了)
搭建过程
安装 Ubuntu Server 略去不说,重点记录下Docker搭建Appium的过程。
- Docker 目前分为 CE(社区版)和 EE(商业版),EE 相比 CE 最大的优势便是安全性全方位升级,当然也需要付费。于是我选择安装 CE,具体操作步骤跟着 get Docker for Ubuntu 走就好。
- Docker安装完毕后,命令行输入
sudo docker -v
,出现版本信息。 - 每次执行Docker均需要管理员权限颇为麻烦,可以执行以下命令,将当前用户加入Docker用户组,重启电脑后之后只需要输入
docker run
,无需管理员权限。
|
|
- Appium官方已提供打包好的镜像,看了Dockerfile里面除了Appium版本较低,其他均满足需求。
|
|
- 上一步中
adb devices
正常显示设备信息后,Appium已搭载完毕,接下来运行Appium脚本即可。
Tips
- 基于目前国内堪忧的网络环境,最好去 DaoCloud 申请一个Docker加速,不然pull image的过程是十分痛苦的。
- 官方提供的镜像仅支持了Appium的基本运行,后期可以考虑基于此镜像进行优化,比如将执行脚本打包在镜像中、配置python环境…
- 运行的Appium脚本中有在命令行adb的操作,现在adb service在Docker中,需在命令前添加
docker exec -it container-appium
,如docker exec -it container-appium adb -s ZX1G42CT5K shell input keyevent 26
总结
- 遥想当初刚接触Appium时,花费将近一周的时间配置环境,如今通过Docker,仅需十余行命令便可部署完毕,不得不说Docker的效率和普适性确实一流。
- 这次实践仅仅是对Docker化Appium最基础的搭建,后面优化镜像、多镜像多机测试等工作还有很长路要走。
- 感谢Docker,软件洁癖者最大的福音。