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 名字,那么有什么工具可以让我们方便的获取到这些信息呢?下一节讲回答这个问题。
本文版权归乙醇所有,欢迎转载,但请注明作者与出处,严禁用于任何商业用途