获取Appium Docker镜像并启动Appium
在讲解这部分内容之前,先对作者的演示环境做一个简单的说明。作者宿主机为Windows 10 64位操作系统,宿主机上已安装夜神模拟器及其Python等开发环境,其IP地址为192.168.0.104。在宿主机上有一个CentOS 7的Vmware虚拟机,虚拟机已安装Docker,其对应的IP地址为192.168.45.130。
如图8-204所示,进入CentOS虚拟机,输入"systemctl start docker"命令启动Docker。
图8-204 启动Docker
如图8-205所示,输入"docker search appium"查找关于"appium"已有的镜像信息。
图8-205 查找关于"appium"的已有镜像信息
如图8-206所示,这里我们要拉取的是"appium/appium"镜像,输入"docker pull appium/appium"命令。
图8-206 拉取"appium/appium"镜像
镜像下载完成后,您可以输入"docker images"来查看该镜像的相关信息,如图8-207所示。
图8-207 查看本机已有镜像
如图8-208所示,输入"docker run --privileged -d -p 4723:4723 --name appium1 appium/appium"命令,即:启动appium服务,将端口映射为4723、容器命名为appium1。
图8-208 启动容器的appium
下面对该命令中主要的参数做一个简单说明:
- privileged:使用该参数,容器内的root拥有真正的root权限,否则容器内的root只是外部的一个普通用户权限。
-d:以分离模式启动容器,分离模式指的是在后台运行,而前景模式指的是在前台运行。默认分离模式设置为假。
-p:指定要映射的p和端口。
--name:为容器指定一个名字,方便记忆和对其进行操作。
如图8-209,输入"docker ps"命令,查看正在运行的容器。
图8-209 启动容器的appium
模拟器的设置
打开"夜神模拟器"的系统设置,切换到"手机与网络"页,选中网络设置下的"开启网络连接"和"开启网络桥接模式"复选框,而后选择"静态IP"单选框,在IP地址中输入"192.168.0.105",网关等内容不再赘述,请参见图8-210。
图8-210 "夜神模拟器"的系统设置配置项内容
使用"adb connect 127.0.0.1:62001"连接到设备,而后应用"adb --s 127.0.0.1:62001 tcpip 9000"命令,设置模拟器的连接方式为tcpip方式并指定使用端口为9000,如图8-211所示。
图8-211 设置模拟器tcpip连接方式
容器连接模拟器
切换到CentOS虚拟机,使用"docker exec --it appium1 adb connect 192.168.0.105:9000"连接夜神模拟器,再使用"docker exec --it appium1 adb devices"命令来查看设备情况,若出现"192.168.0.105:9000 device"信息,则表明连接成功,如图8-212所示。
图8-212 容器连接模拟器相关命令
输入"docker inspect --format='{{.NetworkSettings.IPAddress}}' appium1"命令来查看appium1容器的IP地址,其IP地址为"172.17.0.2",如图8-213所示。
图8-213 appium1容器IP地址