Appium桌面客户端安装方式
1. 运行appium-desktop-Setup-1.2.7.exe,默认安装即可
2. 启动客户端,按图片步骤 1 -> 2 -> 3 -> 4 设置
启动成功展示如下图
Appium命令行安装方式
1. 安装Node.js ->Win:官网下载可执行包安装(Linux: yum install; Macos: brew install)
2. 安装完成后 命令行运行npm或node -v 来查看是否安装成功
npm国内一般被墙,所以选择淘宝镜像安装,官网:http://npm.taobao.org
安装cnpm: npm install -g cnpm --registry=https://registry.npm.taobao.org
安装appium: cnpm install -g appium
启动appium服务命令: appium &,如下图即正确安装
Windows安装会提示os的模块错误,这个需要mac系统支持,不影响windows操作使用
Appium-python库安装
命令行安装(需要联网)
pip install Appium-Python-Client
安装包安装
前提:python已安装setuptools包
安装setuptools:
1.解压setuptools-38.2.4.zip
2.进入解压后文件夹执行命令: python setup.py install
3.等待安装完成,无错误信息即可
安装Appium-Python-Client:
1.解压Appium-Python-Client-0.25.tar.gz
2.进入解压后文件夹执行命令: python setup.py install
3.等待安装完成,无错误信息即可
Appium入门的第一个例子
手机驱动对象
驱动对象会帮助我们完成手机和脚本之间交互.
导入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
实例代码
from appium import webdriver
import time
# server 启动参数
desired_caps = {}
# 设备信息
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# app信息
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
time.sleep(5)
driver.quit()