Python+Appium学习之启动手机APP或者浏览器
一、启动浏览器:
pycharm中python脚本如下:
1 from appium import webdriver 2 3 desired_caps ={ 4 'platformName':'Android', 5 'deviceName':'127.0.0.1:62001', 6 'platformVersion':'6.0', 7 'appPackage':'com.android.browser', 8 'appActivity':'com.android.browser.BrowserActivity' 9 } 10 webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
注意:Android7.0以上的版本需要appium1.6.3以上的版本才支持,电脑上可以下载两个appium版本,共存的,可以针对不同安卓版本进行使用;appium1.6以上的版本都是以appium-desktop命名的
脚本解释:
platformName:手机系统
deviceName:可以在adb中用adb devices查看;如真机名:28eb9a10
platformVersion:安卓系统版本,如果是真机,就是真机的安卓系统版本,如:7.1.1
appPackage:可以在adb中用adb shell pm list package命令查看
appActivity:在adb中,用adb logcat -c 清除日志,然后用adb logcat ActivityManager:I *:s,然后在手机或者模拟器中打开你要查看的laucherActivity的软件,打开后就会显示该软件的laucherActivity名称
com.android.browser.BrowserActivity(脚本中需要去掉截图里面的斜杆)
接下来开始执行操作:
1、打开夜神模拟器,在DOS下先将夜神模拟器连上:adb.exe connect 127.0.0.1:62001
adb devices 查看是否连接成功;如图显示连接成功
2、启动Appium服务:
在启动Appium之前要设置默认浏览器:点击Appium上的机器人图标,勾选Use Browser:Browser
启动Appium服务:启动前是三角形,启动后是正方形,如下图:
3、运行Python脚本
此时夜神模拟器上的浏览器会自动打开;同时桌面生成一个unlock的图标
手机浏览器启动完成:
二、启动手机APP
脚本如下:修改appPackage与appActivity为对应的手机APP的appPackage与appActivity
1 from appium import webdriver 2 3 desired_caps ={ 4 'platformName':'Android', 5 'deviceName':'127.0.0.1:62001', 6 'platformVersion':'6.0', 7 #'appPackage':'com.android.browser', 8 #'appActivity':'com.android.browser.BrowserActivity' 9 'appPackage':'com.hsd.huosuda_user', 10 'appActivity':'com.hsd.huosuda_user.guide.WelcomeActivity' 11 } 12 webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
接下来开始执行操作:
1、打开夜神模拟器,在DOS下先将夜神模拟器连上:adb.exe connect 127.0.0.1:62001
adb devices 查看是否连接成功;如图显示连接成功
2、启动Appium服务:
在启动Appium之前要设置Application Path :点击Appium上的机器人图标,勾选Application Path :选择APK的路径;红色框里的内容为手动选择的APK路径,黑色框里的内容自动生成
启动Appium服务:启动前是三角形,启动后是正方形,如下图:
3、运行Python脚本
此时夜神模拟器上的手机APP会自动打开;同时桌面生成一个unlock与Appium Setting的图标
手机APP启动完成
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构