標籤:des android style code java http
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名字,那麼有什麼工具可以讓我們方便的擷取到這些資訊呢?下一節講回答這個問題。