当前位置: 代码迷 >> 综合 >> Desired Capabilities详解//转自test.net.com 乙醇
  详细解决方案

Desired Capabilities详解//转自test.net.com 乙醇

热度:12   发布时间:2023-11-28 00:30:44.0

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名字,那么有什么工具可以让我们方便的获取到这些信息呢?

方法1:(效率最高的)
问开发人员

方法2:appt 命令(想自立的测试人员可以考虑这个,很好用)

aapt dump badging <file_path.apk>

aapt工具android sdk的tools文件夹下,自带的工具。
把[Android_sdkPath]/sdk/tools添加到环境变量中,整个shell或批处理。

方法3:adb shell  
logcat | grep cmp=

方法4: hierarchy view

方法3,方法4本人没实践过

  相关解决方案