基于Docker+模拟器的Appium自动化测试(一)

获取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地址

相关推荐
运维全栈笔记15 小时前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
SCBAiotAigc17 小时前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能
AI木马人17 小时前
9.人工智能实战:GPU 服务如何上 Kubernetes?从单机部署到 K8s + NVIDIA Device Plugin + HPA 的生产级改造
人工智能·容器·kubernetes
迪娜学姐20 小时前
ChatGPT image 2 科研绘图实测分享
人工智能·chatgpt
二妹的三爷20 小时前
2026实测:ChatGPT 5.4镜像站 一次性生成英、日、德三语客服邮件模板,外贸人教程
chatgpt
二妹的三爷1 天前
2026实测:上传仪器导出CSV,ChatGPT 5.4镜像站 自动清洗、拟合并绘制趋势教程
chatgpt
xixingzhe21 天前
Playwright 简介
自动化测试
身如柳絮随风扬1 天前
使用 Docker 部署禅道并实现自动化部署——从项目搭建到运维自动化的完整指南
运维·docker·自动化
eRTE XFUN1 天前
docker下搭建redis集群
redis·docker·容器
一只小bit1 天前
Docker 存储卷:本地文件与容器内部文件建立绑定关系
运维·docker·容器