一、代碼
在與 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