一、代码
在与 Appium service 服务建立会话的时候,设备端需要告诉服务器一些设备相关的参数,这样服务器才会根据这些参数做对应的处理。
from appium import webdriver from selenium.webdriver.support.wait import WebDriverWait desired_caps = { 'platformName':'Android', 'platformVersion':'6.0.1', 'deviceName':'30.11.42.132', 'appPackage':'com.yunos.tvtaobao', 'appActivity':'com.yunos.tvtaobao.splashscreen.StartActivity', 'appWaitActivity':'com.yunos.tvtaobao/.splashscreen.activity.StartActivity', 'noReset':True, } class Stu(): def __init__(self): #启动app self.driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
二、解读
1、platformName:设备系统(指的是用的那种平台系统,如Android、iOS、orFirefoxOS)
2、platformVersion:指平台系统的版本
3、deviceName:设备名称,指启动的那个设备
4、appActivity:待测app的activity的名字
5、appPackage:待测app的包名
6、noReset:在此会话之前要不要重制应用状态
7、unicodeKeyboard:启动软键盘输入,默认flase
8、appWaitActivity:活动名称/名称,逗号分隔,您想要等待的Android活动(SplashActivity,SplashActivity,OtherActivity)
9、appWaitPackage:您想等待的Android应用程序的app包
10、appWaitDuration:用于等待appWaitActivity启动的超时(以毫秒为单位20000)(默认)
# 说明:在参数中如果指定 app 包名路径,就不需要指定 appPackage 和 appActivity 两个参数了,会产生冲突
# 'app' : 'C:\\Users\\Administrator\\Desktop\\123456\\moer.apk'
二、获取
1、获取设备的deviceName
连上设备,输入adb devices
2、获取app的appPackage
3、获取app 的appActivity
方法一
运行app,输入adb shell monkey -p 包名 -v -v -v 1,如下图
方法二
运行app,输入adb shell dumpsys activity activities
方法三、进入命令行,输入adb logcat|grep START,点击app
获取设备版本platformVersion
adb shell getprop ro.build.version.release