1. 程式人生 > >Appium基礎四:Desired Capabilities詳講

Appium基礎四:Desired Capabilities詳講

oar blog server chrome rfi one tcap sele auto

Desired Capabilities在啟動session的時候是必須提供的,先看如下代碼:

技術分享圖片

Desired Capabilities本質上是key value的對象,他告訴appium server這樣一些事情:

1.本次測試時啟動瀏覽器還是移動設備;

2.是啟動的Android還是IOS;

3.啟動Android時,app的package是什麽;

4. 啟動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。

unicodeKeyboard:是否使用unicode鍵盤輸入,如果設置為true,那麽可以輸入中文和特殊字符,這個很常用,一般設置為true;

caps.setCapability("unicodeKeyboard","true");

resetKeyboard:是否重置鍵盤為原始狀態,比如你將鍵盤設置為了unicode鍵盤,當用例執行完成之後,將resetKeyboard設置為true,則鍵盤重置為原始狀態;

 caps.setCapability("resetKeyboard","true");

Appium基礎四:Desired Capabilities詳講