一。App基础操作API
-
导入driver对象
from appium import webdriver
-
声明手机驱动对象
只有声明驱动对象我们才可以让手机完成脚本的操作,声明的方法如下:
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) # 声明对象后会直接启动参数中的应用
desired_caps: ???
- 手机启动参数
desired_caps:负责启动服务端时的参数设置,appium server 与手机端建立会话关系时,根据这些参数服务端可以做出相应的处理
desired_caps常用参数:
platformName 平台的名称:iOS, Android, or FirefoxOS
platformVersion 设备系统版本号
deviceName 设备号 IOS:instruments -s devices,Android: adb devices
app 安装文件路径:/abs/path/to/my.apk or http://myapp.com/app
appActivity 启动的Activity
appPackage 启动的包
unicodeKeyboard unicode设置(允许中文输入)
resetKeyboard 键盘设置(允许中文输入)
# server 启动参数
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True
- 脚本内启动其他app
driver.start_activity(appPackage,appActivity)
-
关闭app
driver.close_app() # 关闭当前操作的app,不会关闭驱动对象
-
关闭驱动对象
driver.quit() # 关闭驱动对象,同时关闭所有关联的app
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
举例:自动化打开机器人设置,关闭设置
#导入driver对象.驱动对象会帮助我们完成手机和脚本之间交互.
from appium import webdriver
#先定义个字典变量,给下面调用
desired_caps = {}
desired_caps['platformName'] = 'Android' #平台的名称:iOS, Android, or FirefoxOS
desired_caps['platformVersion'] = '4.4.4' #设备系统版本号
desired_caps['deviceName'] = 'KMO3EHB90R' #设备号 IOS:instruments -s devices,Android: adb devices
desired_caps['appPackage'] = 'com.avatar.settings'#启动的Activity
desired_caps['appActivity'] = '.Settings' #启动的包
desired_caps['unicodeKeyboard'] = True #unicode设置(允许中文输入)
desired_caps['resetKeyboard'] = True #键盘设置(允许中文输入)
#脚本和服务端关联,使用webdriver.Remote的方法,并传2个参数,服务端的地址和服务端需要的启动参数
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
driver.close_app() # 关闭当前操作的app,不会关闭驱动对象driver
driver.start_activity("com.avatarmind.robot.grabsmile",".GrabSmileActivity")#脚本内启动其他app
driver.quit()#关闭驱动对象,同时关闭所有关联的app
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
二。