appium环境准备
材料自取:https://pan.baidu.com/s/1JLXe67FY2bUNYLXWl48ajQ
提取码:6853
安装Nodejs
官网:https://nodejs.org/en/download/
,材料中nodejs解压安装,不需要手动配环境变量
安装完成后,cmd中运行node –v
,npm -v
安装JDK(建议1.8)
材料中jdk,环境变量如下:
安装SDK
材料中有安装包,如果要自己下载,由于需要梯子,而咱们在用Appium 的时候实际上只需要用到SDK 工具而已。所以推荐大家去另外一个国内的Android 工具的下载网站下载https://www.androiddevtools.cn/
Android SDK 工具》SDK Tools后选择版本下载,进入SDK的解压目录下,双击“SDK Manager.exe”打开SDK管理器。
查看SDK Readme.txt中:
在cmd中cd到当前目录下执行这句更新命令,出现下图为完成。(部分同学会出现访问不了ld.google.com的问题,可以百度一下再host中加配置)
更新完成之后,检查一下 build-tools/ 路径下,如果是 30 的版本,需要先删掉这个30的文件夹,然后手动的下载一个低于 28版本的build-tools/ 的放在目录下即可(推荐 28的版本),如果下载多个版本会优先使用高版本的。(注意一定要删掉30这个版本的,版本太高appium运行不起来,需要依赖java1.9的版本)
下载 build-tools 方法:打开SDKManager.exe勾选对应版本下载即可
最后就是配置环境变量了:
ANDROID_HOME:文件路径
Path:%ANDROID_HOME%\tools;
%ANDROID_HOME%\build-tools\28.0.3;
%ANDROID_HOME%\platform-tools
安装appium desktop
国内网络一般直接使用官方推荐的命令 npm install -g appium, 会下载失败,超时等问题。这里推荐大家设置国内镜像再下载。
设置镜像源
npm config set registry https://registry.npm.taobao.org
安装appium
npm install -g appium
这样下载下来的是最新版本的appium。
推荐下载 appium 1.15版本,使用命令指定版本号 npm install -g appium@1.15
appium 这个版本是命令行版本, 与appium desktop启动一个即可,安装也可以只安装一个或者两个都装,建议都装。
验证appium安装环境
npm install appium-doctor -g
appium-doctor 是用来检测环境配的是否完整,安装完成之后,重新打开新的命令行窗口,输入 appium-doctor
,如下图:
安装appium python client
安装模拟器
目前市面上模拟器类型比较多, mumu, 夜神,雷电,逍遥,genimotion,android sdk中也有自带的emulator模拟器。学习过程中推荐大家使用mumu模拟器,也可以使用 genimotion模拟器和 android sdk 自带的 emulator。
安装mumu模拟器,练习足够用,但做移动端的 web 测试需要使用genimotion 或者 sdk自带的emulator
android sdk 里面自带的模拟器也可以,只不过要下载android的开发工具来管理这些模拟器 - android studio,不用也可以不装,
genimotion (自行百度)
模拟器安装好之后,命令行里直接 输入命令adb devices即可查看模拟器的状态。
对于第三方模拟器(mumu, 夜神等),windows需要手动连接。
mumu模拟器,需要手动输入下面的连接命令:
adb connect 127.0.0.1:7555
上面的 127.0.0.1:7555 作为一个整体,是 模拟器的名称,也叫序列号(serial number)。是根据本地的 IP 和端口号生成的, 不同的模拟器对应的端口不一样,具体用的哪个端口可以去百度搜索一下或者官网查看 。
mac上直接执行 adb devices 。如果没有识别,需要重启 adb server,执行下面两条命令即可。
adb kill-server
adb devices
不同厂商的模拟器需要连接的名是不一样的,需要查看官网说明。上面仅提供了mumu的连接方式,其它的模拟器自行百度。
验证
打开appium desktop、模拟器,运行以下代码(python)
from appium import webdriver
desired_caps={}
desired_caps['platformName']='Android'
desired_caps['platformVersion']='6.0'
desired_caps['deviceName']='127.0.0.1:7555'
desired_caps['appPackage']='com.android.settings'
desired_caps['appActivity']='com.android.settings.Settings'
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.quit()