基于Docker+模拟器的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地址

测试脚本

from appium import webdriver
import time
import threading

caps1 = {
'platformName': 'Android',
'deviceName': '192.168.0.105:9000',
'platformVersion': '5.1.1',
'appPackage': 'com.microsoft.bing',
'appActivity': 'com.microsoft.clients.bing.app.MainActivity'
}

if name == 'main':
driver = webdriver.Remote('http://172.17.0.2:4723/wd/hub', caps1)

单击跳过按钮

driver.find_element_by_id('com.microsoft.bing:id/skip_text').click()

等待1秒钟,目的让后续元素能够显示出来再操作

time.sleep(1)

单击搜索框

driver.find_element_by_id('com.microsoft.bing:id/search_box').click()

等待1秒钟,目的让后续元素能够显示出来再操作

time.sleep(1)

向搜索文本框输入查询的搜索词内容

driver.find_element_by_id('com.microsoft.bing:id/search_text_field').send_keys('Appium')

单击"全部"按钮

driver.find_element_by_id('com.microsoft.bing:id/opal_as_web').click()

测试执行

运行结果如图8-214所示。

图8-214 应用appium docker容器脚本执行结果

相关推荐
oscar9991 小时前
Codex 编程智能体入门指南
ai·chatgpt·codex
梦梦代码精1 小时前
电商系统不是技术堆叠:LikeShop如何用分层Hold住复杂业务?
java·docker·代码规范
zhoupenghui1683 小时前
【AI大模型应用开发】【项目实战】13.RAG智慧问答项目-(一)项目介绍&项目架构&项目环境配置
人工智能·docker·ai·milvus·rag·attu·rag智慧问答项目
云栖梦泽在4 小时前
Claude Code / Codex 使用卡顿怎么办?AI 编程 Agent 连接失败与网络排查思路
网络·人工智能·网络协议·chatgpt·性能优化
江畔柳前堤5 小时前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
阿拉斯攀登6 小时前
AI Agent 入门:从 ChatGPT 到自主智能体
人工智能·chatgpt·agent·ai编程·loop
hj2862518 小时前
Docker 容器化技术标准化笔记
java·笔记·docker
潘正翔8 小时前
docker基础_镜像使用
linux·运维·服务器·docker·容器·centos·devops
江湖有缘9 小时前
Lunalytics部署指南:使用Docker快速搭建私有监控面板
运维·docker·容器
分布式存储与RustFS9 小时前
RustFS保姆级教程:Docker快速部署兼容S3的本地对象存储
运维·docker·容器·rustfs部署教程·本地搭建s3对象存储·rustfs网页控制台使用·awscli连接rustfs