Appium基础四:Desired Capabilities详讲

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");

 

posted @ 2017-12-02 16:05  小小强~  阅读(351)  评论(0编辑  收藏  举报