1、Appium生态工具
(1)adb
android的控制工具,用于获取android的各种数据和控制
(2)Appium Desktop
内嵌了appium server和inspector的综合工具
(3)Appium Server
appium的核心工具,命令行工具
(4)Appium Client
各种语言的客户端封装库,用于连接appium server(python、java、ruby、robotframework-appium)
(5)AppCrawler自动遍历工具
内嵌了appium server和inspector的综合工具
2、安装JDK
(1)下载并安装JDK
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
(2)设置环境变量
JAVA_HOME:jdk的安装目录
CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
设置Path,在其中加入两个配置信息:%JAVA_HOME%\bin 和 %JAVA_HOME%jre\bin
3、安装android-sdk
(1)下载SDK
下载地址:http://tools.android-studio.org/index.php/sdk
(2)设置环境变量
参考这个配环境变量:https://www.cnblogs.com/loveyaxin/p/7527806.html
4、安装Node.js
下载.msi文件:https://nodejs.org/en/download/
一直下一步安装即可
无须配置环境变量,直接重启一个 cmd 输入下面的命令,能够查看这两个版本号即安装成功
5、安装 appium-client
appium client 是我们编写脚本必调的api包,写脚本一定要安装这个包才能引用appium, from appium import webdriver这行代码。
由于是python的第三方库,直接使用Pip 安装即可:pip install appium-python-client
6、安装 appium
Appium 分为两个版本,一个是有界面的Appium(下载安装文件即可安装),一个是*面的命令行版本(需要命令安装),建议都安装上。
有界面的Appium Desktop:包含 appium 服务,录制工具,查看页面布局及查找元素的功能。
*面的Appium:只提供了appium服务功能
(1)*面安装
方法一: 官方推荐直接,(网络环境要求高,如果出现超时,下载不下来,不推荐)
npm install -g appium
方法二:先安装cnpm 再安装 appium (曲线救国,推荐),一定要加上 -g 参数
npm install -g cnpm --registry=https://registry.npm.taobao.org #挂载淘宝源
cnpm install -g appium@1.15 #全局安装appium
(2)有界面安装
https://github.com/appium/appium-desktop/releases
(3)安装 appium-doctor,检查你的appium环境是否安装成功
cnpm install -g appium-doctor
安装完成,可以打开一个新的命令行窗口(windows上cmd,Mac 上是Terminal),输入 appium-doctor,会出现如下提示,红框里面没有报错即可, 其它的画叉的暂时可以不用安装。
(4)运行 appium server
有界面的,打开界面,点击 Start Server, 不报错说明成功,如下图:
打开terminal,输入 appium 回车,不报错说明安装成功。
6、运行,验证环境
面安装完成就可以运行一个简单的appium demo 脚本,能够启动起来应用说明安装成功。
创建测试文件 test_demo.py
from appium import webdriver
desired_caps={}
desired_caps['platformName']='Android'
desired_caps['platformVersion']='6.0'
desired_caps['deviceName']='emulator-5554'
desired_caps['appPackage']='com.android.settings'
desired_caps['appActivity']='com.android.settings.Settings'
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)