APP自动化2-python代码如何造作不同系统,不同版本的手机
一,前言
Android SDK 不同系统和版本差异比较大,不同系统不同版本直接可能用到不同的软件包或者框架,因此需要自动化脚本去执行操作终端的设置参数
二、自动化设置参数项,desired capabilities-appium
appium官方文档地址:https://appium.io/docs/cn/writing-running-appium/caps/
可以自行进入查看官方文档提供的初始化参数,也有安卓独有参数,iOS独有参数,下面讲解下安卓系统常用的几个参数
1.手机系统
参数名:platformName
参数值获取路径:设置--系统--关于手机
2. 版本
参数名:platformVersion
参数值获取路径:设置--系统--关于手机
3.设备名称
参数名:deviceName
参数值获取路径:设置--系统--关于手机
4.包名
参数名:appPackage
参数值获取方式:aapt dump badging E:\BaiduNetdiskDownload\tools\Android_8.8.83.7540_537114574_HB.32.apk
5.入口启动页面
参数名:appActivity
参数值获取路径:aapt dump badging E:\BaiduNetdiskDownload\tools\Android_8.8.83.7540_537114574_HB.32.apk
6.noReset,默认false,默认重置,即每次都是重新进入APP
三、常用adb命令
1.查看终端是否连接成功 ----adb devices
2.连接模拟器或者真机:
adb connect 127.0.0.1:62001--夜神模拟器
adb connect 127.0.0.1:5555---雷神
3. 查看被测APP包名和入口
app放都电脑端无中文路径下,使用如下命令在cmd窗口进行查看,若提示aapt不是内部命令则在下图路径中输入cmd打开docs窗口
命令:aapt dump badging E:\BaiduNetdiskDownload\tools\Android_8.8.83.7540_537114574_HB.32.apk
结果:
包名关键字:package: name
启动入口关键字:launchable-activity: name
四. python如何将上述参数传递给appium
1 from appium import webdriver 2 3 # 1 设置终端参数 4 desired_caps = { 5 "platformName": "Android", 6 "platformVersion": 9, 7 "deviceName": "TECNO KC3", 8 "appPackage": "com.tencent.mobileqq", 9 "appActivity": "com.tencent.mobileqq.activity.SplashActivity", 10 "noReset": True} 11 12 # 2 发送指令给appium driver 13 webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) 14 # 3 还需要做什么? 15 # 3.1 确保appium server开启 16 # 3.2 确保终端连接,使用adb命令,adb devices查看终端是否连接
观察终端或者模拟器,会自动打开QQ,初步实现了APP自动化