服务关键字
Desired Capabilities在启动session的时候是必须提供的。
Desired Capabilities本质上是以key value字典的方式存放,客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试。
1 # -*- coding:utf-8 -*- 2 from appium import webdriver 3 import unittest 4 5 class MyTest(unittest.TestCase): 6 def setUp(self): 7 desired_caps = {} 8 desired_caps['platformName'] ='Android' 9 desired_caps['platformVersion'] ='7.0' 10 desired_caps['deviceName'] ='DIYTHYTCCQBIV47D' 11 desired_caps['appPackage'] ='com.txt.calculator' 12 desired_caps['appActivity'] ='.Calculator' 13 desired_caps["unicodeKeyboard"] ="True" 14 desired_caps["resetKeyboard"] ="True" 15 self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
它告诉appium Server这样一些事情:
•platformName:使用哪种移动平台。iOS, Android, orFirefoxOS。
•platformVersion:指定平台的系统版本。例如指的Android平台,版本为7.0,这个版本号一定要跟手机的实际版本号保持一致,否则在运行时会报(Original error: Unable to find an active device or emulator with OS 6.0. The following are available: DIYTHYTCCQBIV47D (7.0))。
•deviceName:启动哪种设备,是真机还是模拟器?iPhone Simulator,iPad Simulator,iPhone Retina 4-inch,Android Emulator,如果是真机,则直接把手机序列号填入。
•appPackage:待测试的app的Java package。比如com.example.android.myApp, com.android.settings。
•appActivity:待测试的app的Activity名字。比如MainActivity、.Settings。注意,原生app的话要在activity前加个”.“,请以实际查出来的activity为准。
•automationName:使用哪种自动化引擎。appium(默认)还是Selendroid。
•unicodeKeyboard: 设置为True;如果要键盘设置在测试完成后回到原始状态,需要将resetKeyBoard也设置为True,否则appium测试结束后,appium的Unicode键盘仍然会被激活。
•resetKeyboard:设置为True;如果要键盘设置在测试完成后回到原始状态,需要将resetKeyBoard也设置为True,否则appium测试结束后,appium的Unicode键盘仍然会被激活。