DesiredCapability对启动app至关重要,是启动app前的准备工作。如果配置错误,app不会成功启动。

  DesiredCapability有appium公共健值对、Android专有和IOS专有三部分。

  appium服务关键字和android专有关键字来源于github

一、appium关键字

  appium关键字是appium的一些公共关键字,主要是针对测试平台的设置以及启动前。比如选择ios还是android,测试前要不要安装app等。

  appium-DesiredCapability详解与实战-LMLPHP

  appium-DesiredCapability详解与实战-LMLPHP

二、Android专有关键字

  android专有关键字是android测试时可以选择配置的一些键值对。所有配置只针对android手机有效。

  appium-DesiredCapability详解与实战-LMLPHP

  

  下表中需要一定的android知识,avd是android virtual device。

  appium-DesiredCapability详解与实战-LMLPHP

  与key相关的几个是打包apk时需要添加的信息。这里添加是为了给apk重签名。重签名后的apk更方便测试

  appium-DesiredCapability详解与实战-LMLPHP

  下表几个与网络和浏览器测试,混合app测试有关。

  appium-DesiredCapability详解与实战-LMLPHP

  下表中操作与手机设置有关

  appium-DesiredCapability详解与实战-LMLPHP

三、android app测试重要关键字

  重要关键字的填写在进行测试时可以更准确的定位测试环境,使测试结果更加精准。

  appium-DesiredCapability详解与实战-LMLPHP

四、iOS特有

  appium-DesiredCapability详解与实战-LMLPHP

  appium-DesiredCapability详解与实战-LMLPHP

  

五、源码键值对实战

  键值对就是一个字典,key值写上面列表中的内容,值写对应的信息。变量名caps可以自己取,不用一定写他。执行下列代码可以启动testapp。

  

#! /usr/bin/env python
#coding=utf-8 from appium import webdriver caps = {
'platformName':'Android',
'platformVersion':'4.2',
'deviceName':'Android Emulator',
'unicodeKeyboard':True,
'resetKeyboard':True,
'app':'D:/Appium/jishiben.apk',
'appPackage':'com.smartisan.notes',
'appActivity':'com.smartisan.notes.NewNotesActivity'
''
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',caps)
05-23 21:49