Desired Capabilities在啟動session的時候是必須提供的。
Desired Capabilities本質上是key value的對象,它告訴appium server這樣一些事情:
- 本次測試是啟動瀏覽器還是啟動移動設備?
- 是啟動andorid還是啟動ios?
- 啟動android時,app的package是什么?
- 啟動android時,app的activity是什么?
本文版權歸乙醇所有,歡迎轉載,但請注明作者與出處,嚴禁用於任何商業用途
Appium的Desired Capabilities是擴展了webdriver的Desired Capabilities的,下面的一些通用配置是需要指定的:
- automationName:使用哪種自動化引擎。appium(默認)還是Selendroid?
- platformName:使用哪種移動平台。
iOS
,Android
, orFirefoxOS?
- deviceName:啟動哪種設備,是真機還是模擬器?
iPhone Simulator
,iPad Simulator
,iPhone Retina 4-inch
,Android Emulator
,Galaxy S4
, etc... - app:應用的絕對路徑,注意一定是絕對路徑。如果指定了appPackage和appActivity的話,這個屬性是可以不設置的。另外這個屬性和browserName屬性是沖突的。
- browserName:移動瀏覽器的名稱。比如Safari' for iOS and 'Chrome', 'Chromium', or 'Browser' for Android;與app屬性互斥。
- udid:物理機的id。比如1ae203187fc012g。
下面這些屬性是android平台特定的:
- appActivity:待測試的app的Activity名字。比如MainActivity, .Settings。注意,原生app的話要在activity前加個"."。
- appPackage:待測試的app的java package。比如com.example.android.myApp, com.android.settings。
本文主要討論android平台的appium測試方法和技巧,因此在這里就不列出ios設備特定的屬性了。
更多信息請參考官方文檔
在這里我們發現,我們經常要獲取app的package和activity名字,那么有什么工具可以讓我們方便的獲取到這些信息呢?下一節講回答這個問題。
本文版權歸乙醇所有,歡迎轉載,但請注明作者與出處,嚴禁用於任何商業用途