服务关键字
Desired Capabilities在启动session的时候是必须提供的。
Desired Capabilities本质上是以key value字典的方式存放,客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试。
# -*- coding:utf-8 -*-
from appium import webdriver
import unittest class MyTest(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['platformName'] ='Android'
desired_caps['platformVersion'] ='7.0'
desired_caps['deviceName'] ='DIYTHYTCCQBIV47D'
desired_caps['appPackage'] ='com.txt.calculator'
desired_caps['appActivity'] ='.Calculator'
desired_caps["unicodeKeyboard"] ="True"
desired_caps["resetKeyboard"] ="True"
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键盘仍然会被激活。