app自动化(二)python代码操控手机终端
接下来是如何通过python代码来操控手机app教程
一、 首先得先在pycharm中安装好第三方库:appium-python-client
然后使用ADB命令连接模拟器
1. 在cmd命令输入(adb connect 本地地址:模拟器端口号)来连接模拟器,每个模拟器的默认端口号都不同,不懂的可以在百度查一下
adb connect 127.0.0.1:62001
2. 查看已连接设备列表,查看模拟器是否连接成功,出现下图则说明连接成功
adb devices
接下来我们需要获取app应用包的各项参数,连接手机用。这里需要获取两个参数:app应用主程序入口、app应用包名
app包名获取命令:aapt dump badging app包的路径 | findstr package
app主程序入口获取命令:aapt dump badging app包的路径 | findstr activity
使用这个命令之前,CMD命令窗口需要进入SDK的 C:\sdk\android-sdk-windows\build-tools\30.0.0-preview 路径,如下图
然后获取app包路径,这个路径从哪获取呢?请看下图操作
最后得到app包路径,类似这个:C:\Users\86158\Desktop\120_ad092b2f8f81dc926d318aedfa08d48d.apk
package name = 后面的串就是包名
launchable-activity name= 后面这串就是主程序入口
好了, 到此,app的包名和主程序入口都得到了,接下来要写代码了
二、设置终端启动参数项,打开pycharm编写代码。
PS:如果脚本什么都正确,但就是无法启动成功,试试将模拟器中TAX软件给卸载掉,试试重启所有软件或重启电脑可能可以解决。
# 首先创建一个字典,设置终端启动参数项 desired_caps = { "platformName": "Android", # 设备类型,安卓就填Android,苹果就填ios "platformVersion": "7.1.2", # 安卓版本,这在模拟器设置里可以查到 "deviceName": "127.0.0.1", # 设备名,就是模拟器的设备名 "appPackage": "com.xs.fm", # app包名, 刚刚查到的 "appActivity": "com.dragon.read.pages.splash.SplashActivity", # 主程序入口 "noReset": True # 每次启动app,是否需要清空app缓存? True清空, False不清空 }
编写发送指令代码
# 导入包 from appium import webdriver # 首先创建一个字典,设置终端启动参数项 desired_caps = { "platformName": "Android", # 设备类型,安卓就填Android,苹果就填ios "platformVersion": "7.1.2", # 安卓版本,这在模拟器设置里可以查到 "deviceName": "127.0.0.1", # 设备名,就是模拟器的设备名 "appPackage": "com.xs.fm", # app包名, 刚刚查到的 "appActivity": "com.dragon.read.pages.splash.SplashActivity", # 主程序入口 "noReset": True # 每次启动app,是否需要清空app缓存? True清空, False不清空 } # 发送指令到appium server drver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
四、启动Appium Server GUI
五,回到pycharm,右键运行代码
然后就可以看到被测app被启动,这就调试成功了
注意事项:执行app代码启动时, 需要保证电脑没有连接任何USB手机设备, 否则会报错无法执行。