基于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地址

相关推荐
张艾拉 Fun AI Everyday5 小时前
从 ChatGPT 到 OpenEvidence:AI 医疗的正确打开方式
人工智能·chatgpt
zhangfeng11335 小时前
DrugGPT chatgpt druggen 之间的关系 ,DrugGPT是基于gpt2基础上开发的
chatgpt·生物信息
天一生水water6 小时前
ubuntu使用毫秒镜像方式安装docker mysql
ubuntu·阿里云·docker
Qayrup9 小时前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
郭庆汝9 小时前
docker拉取英伟达官方cuda11.8镜像
docker·cuda11.8
天下不喵11 小时前
Ubuntu24.04安装Docker过程记录
docker
黑黍11 小时前
如何在k8s中配置并使用nvidia显卡
云原生·容器·kubernetes
冷血~多好12 小时前
使用docker部署elk,实现日志追踪
elk·docker·容器
会飞的小蛮猪12 小时前
SkyWalking运维之路(Java探针接入)
java·运维·经验分享·容器·skywalking
软件测试小仙女12 小时前
简单但好用:4种Selenium截图方法
自动化测试·软件测试·selenium·测试工具·测试用例·接口测试·selenium截图