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手机设备, 否则会报错无法执行。

 

posted @ 2022-07-26 23:07  博无止境  阅读(2090)  评论(0编辑  收藏  举报