Appium-Python-Windows环境搭建笔记
Appium版本:1.11.0
操作系统:Windows7-64位
开发语言:Python 3.7.2
测试应用平台:安卓 5.1.1
Appium服务端
一、JDK
也许你会觉得很奇怪,我搭建Python的Appium,关JDK或者JAVA什么事。这是因为,安卓系统依赖JAVA环境,所以这项是必需的。
1.1 推荐版本:JAVA SE 8u201
1.2 下载地址:https://www.oracle.com/technetwork/cn/java/javase/downloads/index.html
1.3 下载方法:
1.3.1打开下载地址后,点击下载页面的入口,如下图所示。
1.3.2 JDK的下载界面如下图所示。点击“Accept License Agreement”同意证书许可。
1.3.3 根据自己的操作系统情况选择对应的安装包。楼主的是64位的Windows,所以选择如下:
1.4 安装方法:
1.4.1 安装JDK的操作比较简单,启动安装程序后,一律点击“下一步”即可,直至出现下图则表示安装完毕。
1.4.2 验证安装是否成功:打开cmd命令窗口,输入"java -version",检查是否正常显示java版本信息。成功安装的回显信息如下图:
C:\Users\Administrator>java -version java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
1.4.2 配置JAVA的环境变量
作用:通俗的讲,配置了环境变量就好比告诉了计算机你的程序在哪个目录,以后我不管在哪个目录使用指令调用该程序都得照办。
配置方法:
1.4.2.1 在桌面的“计算机”上点击右键,选择“属性”菜单。
1.4.2.2 弹出如下窗口
1.4.2.3 在底部“系统变量”栏目中,点击“新建(w)”按钮,新建一个名为“JAVA_HOME”的系统变量,值为jdk的安装根目录。例如,默认的安装目录是“C:\Program Files\Java\jdk1.8.0_201”。然后点击“确定”。
1.4.2.4 在系统变量栏目中找到一项名为“Path”的变量进行选中,点击“编辑”按钮。然后在变量值末尾追加“;%JAVA_HOME%\bin”。切记,两个变量值之间一定要以英文半角的分号相隔。最后点击“确定”按钮。
至此,JDK的安装就完成了。
二、安卓SDK
推荐版本:android-sdk_r24.4.1
2.1 下载方法:
下载地址:http://www.android-studio.org/
下载可执行的EXE程序,或者打包好的安装包,两种方式都可以。以下以ZIP格式的解压包方式为例。
2.2 启动 SDK Manager ,下载测试设备所对应版本的安卓系统API。
分别勾选所需要的组件,以下是楼主推荐方案,具体可根据个人需要进行选择。
选择所需的安装项后,点击“install XX packages”,其中XX代表已经勾选的项目数量。在选择安装的界面,一律勾选“Accept License”选项。最后点击“install”执行安装。
备注:因为都是联网安装,过程有点小漫长,请自备啤酒香烟花生矿泉水。如果因为网络原因出现某些子项安装失败的,可以多尝试几次。如果仍旧不行,请尝试科学上网。
2.3 配置SDK的环境变量
大体步骤和上文中的配置JDK的环境变量类似,这里就不再一一赘述,只说明下需要配置的参数。
2.3.1 首先,确定sdk的根目录。如下图所示,则根目录为“D:\SDK\android-sdk-windows”。其中有两个非常重要的目录,分别是tools和platform-tools.
2.3.2 在“环境变量”操作面板中,新建一个名为“ANDROID_HOME”的变量,值为SDK的根目录。如下图所示。
2.3.3 编辑系统变量Path项的值,在末尾追加两个新值,分别是“%ANDROID_HOME%\tools”和“%ANDROID_HOME%\platform-tools”。编辑完毕后点击“确定”。
2.3.4 验证安卓SDK环境。打开cmd命令窗口,输入 adb version 指令,如果打印了下图信息则表示环境变量配置成功。
C:\Users\Administrator>adb version Android Debug Bridge version 1.0.40 Version 4986621 Installed as D:\SDK\android-sdk-windows\platform-tools\adb.exe
三、Node.js
用来提供Appium服务端所依赖的运行环境,因为毕竟Appium服务端就是用node.js编写的,没它玩不转。
3.1 当前版本:V10.15.3
3.2 官网下载地址:https://nodejs.org/zh-cn/
3.3 安装方法:一路点“next”,遇到“accept”点了即可。
3.4 安装完毕后,需要把node.exe程序所在的目录添加到系统环境变量,操作步骤参见JDK和SDK的配置方法。简而言之,找到node.exe程序所在目录,例如在“D:\Programs\NodeJS”,那么添加系统变量“NODE_HOME”,值为“D:\Programs\NodeJS”,然后在系统变量Path的值末尾追加“%NODE_HOME%”即可。
3.5 检查环境配置是否成功。在电脑任意目录打开cmd,输入 node -v 指令,如果打印以下结果则表示程序安装OK,且环境变量配置成功。
C:\Users\Administrator>node -v
v10.15.3
四、Appium-Sever
Github工程地址:https://github.com/appium/appium-desktop/releases
4.1 安装方法
第一种:使用npm命令行安装(推荐)
打开cmd命令窗口,输入指令 npm install -g appium ,等待安装结束即可。输入指令 appium -v ,如果打印如下结果则表示appium-server服务端安装成功。
C:\Users\Administrator>appium -v
1.11.1
备注:建议使用此方式进行服务端程序的安装,比较利于后期配合持续集成。
第二种:下载Appium-desktop桌面应用。
可以在Github工程中找到安装包,下载启动即可。
桌面应用启动后的界面如下。
4.2 检查当前系统的Appium环境依赖是否都已齐备
使用appium-doctor程序,可以快速全面检测当前系统中所依赖资源的安装情况,一目了然。
4.2.1 安装appium-doctor
打开cmd命令窗口,执行npm安装指令: npm install –g appium-doctor 即可。运行结果如下:
C:\Users\Administrator>npm install -g appium-doctor C:\Users\Administrator\AppData\Roaming\npm\appium-doctor -> C:\Users\Administrat or\AppData\Roaming\npm\node_modules\appium-doctor\appium-doctor.js + appium-doctor@1.9.0 added 319 packages from 279 contributors in 181.051s
4.2.2 运行appium-doctor
在cmd命令窗口中输入指令: appium-doctor ,如果打印如下结果“info AppiumDoctor ### Diagnostic for necessary dependencies completed, no fix needed”(第16行)则表明Appium服务端的依赖环境已安装齐全。
1 C:\Users\Administrator>appium-doctor 2 info AppiumDoctor Appium Doctor v.1.9.0 3 info AppiumDoctor ### Diagnostic for necessary dependencies starting ### 4 info AppiumDoctor ✔ The Node.js binary was found at: D:\Programs\NodeJS\node.E 5 XE 6 info AppiumDoctor ✔ Node version is 10.15.3 7 info AppiumDoctor ✔ ANDROID_HOME is set to: D:\SDK\android-sdk-windows 8 info AppiumDoctor ✔ JAVA_HOME is set to: C:\Program Files\Java\jdk1.8.0_201 9 info AppiumDoctor ✔ adb exists at: D:\SDK\android-sdk-windows\platform-tools\a 10 db.exe 11 info AppiumDoctor ✔ android exists at: D:\SDK\android-sdk-windows\tools\androi 12 d.bat 13 info AppiumDoctor ✔ emulator exists at: D:\SDK\android-sdk-windows\tools\emula 14 tor.exe 15 info AppiumDoctor ✔ Bin directory of %JAVA_HOME% is set 16 info AppiumDoctor ### Diagnostic for necessary dependencies completed, no fix ne 17 eded. ### 18 info AppiumDoctor 19 info AppiumDoctor ### Diagnostic for optional dependencies starting ### 20 WARN AppiumDoctor ✖ Python required by node-gyp (used by heapdump) not found i 21 n PATH: C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\windows\syst 22 em32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v 23 1.0\;C:\Program Files\Java\jdk1.8.0_201\bin;D:\SDK\android-sdk-windows\tools;D:\ 24 SDK\android-sdk-windows\platform-tools;D:\Programs\NodeJS;C:\Users\Administrator 25 \AppData\Roaming\npm 26 WARN AppiumDoctor ✖ opencv4nodejs cannot be found. 27 WARN AppiumDoctor ✖ ffmpeg cannot be found 28 WARN AppiumDoctor ✖ bundletool.jar cannot be found 29 info AppiumDoctor ### Diagnostic for optional dependencies completed, 4 fixes po 30 ssible. ### 31 info AppiumDoctor 32 info AppiumDoctor ### Optional Manual Fixes ### 33 info AppiumDoctor The configuration can install optionally. Please do the follow 34 ing manually: 35 WARN AppiumDoctor ➜ Manually configure Python 2.x environment. node-gyp which 36 is NodeJS toolchain requires Python 2.x 37 WARN AppiumDoctor ➜ Why opencv4nodejs is needed and how to install it: https:/ 38 /github.com/appium/appium/blob/master/docs/en/writing-running-appium/image-compa 39 rison.md 40 WARN AppiumDoctor ➜ ffmpeg is needed to record screen features. Please read ht 41 tps://www.ffmpeg.org/ to install it 42 WARN AppiumDoctor ➜ bundletool.jar is used to handle Android App Bundle. Pleas 43 e read http://appium.io/docs/en/writing-running-appium/android/android-appbundle 44 / to install it 45 info AppiumDoctor 46 info AppiumDoctor ### 47 info AppiumDoctor 48 info AppiumDoctor Bye! Run appium-doctor again when all manual fixes have been a 49 pplied! 50 info AppiumDoctor
Appium客户端
五、Python
5.1 当前版本:V3.7.2
5.2 官网下载地址:https://www.python.org/
5.3 安装方法:启动安装程序,注意把Python添加到环境变量的选项勾选,建议自定义安装路径(默认的安装路径太深,后期找目录不方便),其他按默认配置一步步确认即可。
5.4 检查安装是否成功。
打开cmd命令窗口,输入指令: python ,如果成功安装则会打印如下信息:
C:\Users\Administrator>python Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
六、Appium-Python-Client
6.1 当前版本:
6.2 安装方法:在cmd命令窗口中执行pip命令即可: pip install Appium-Python-Client
6.3 检查安装情况:如果打印结果中显示“Successfully installed Appium-Python-Client-0.39”则表明安装成功。
七、Pycharm
适合编辑Python脚本的IDE工具有很多,萝卜白菜各有所爱。楼主个人觉得Pycharm的community社区版基本够用了。
7.1 当前版本:pycharm-community-2018.3.5
7.2 官网下载地址:http://www.jetbrains.com/pycharm/download/#section=windows
7.3 安装方法:可以佛系,启动安装程序后,一路点下一步即可。
八、设备
优先使用真机。
如果确实找不到合适的安卓手机作为测试机器的话,也可以使用安卓模拟器,一般夜神或者逍遥的比较常用一点。个人推荐使用逍遥,因为据说某神对webview不支持(测试混合APP中的H5页面需要用到),具体楼主尚未尝试,此项有待考证。
- 夜神模拟器下载地址:https://www.yeshen.com/
- 逍遥模拟器下载地址:http://www.xyaz.cn/
8.1 模拟器的简单使用
8.1.1 开启USB调试
开启模拟器后,在跑脚本之前,一定要先开启USB调试。
8.2.2 检查设备连接情况
打开cmd命令窗口,输入指令: adb devices ,设备成功连接的打印信息如下:
C:\Users\Administrator>adb devices
List of devices attached
127.0.0.1:21503 device
其中,“127.0.0.1:21503”为设备的udid编号,“device”表示设备状态是已连接。如果设备列表为空,或者设备状态是“offline”,则是连接失败的情况,需要具体排查产生的原因。
8.3.3 模拟器常见的设备连接失败的处理方法
如果在设备连接过程中,确定设备已经开启USB调试且正确连接到PC,但是仍旧使用adb devices指令查到设备列表为空,则有可能是已安装的安卓SDK中的adb程序版本和模拟器自带的adb程序版本不一致导致的。
解决办法可能有很多种,这里暂介绍楼主亲测实用的方案:
第一步:关闭正在运行的的模拟器
第二步:替换adb.exe程序。
逍遥模拟器:进入安装目录(默认为..\Microvirt\MEmu),找到adb.exe文件,执行删除。然后进入SDK的安装目录(默认为..\android-sdk-windows\platform-tools),拷贝系统adb.exe到逍遥的原目录即可。
夜神模拟器:进入安装目录,找到nox_adb.exe文件,执行删除。然后进入SDK的安装目录(默认为..\android-sdk-windows\platform-tools),拷贝系统adb.exe到逍遥的原目录,重命名为“nox_adb.exe”即可。
第三步:启动模拟器。启动完毕后,打开cmd命令窗口输入 adb devices 再次检查设备连接情况,一般就能正常看到已连接的虚拟设备信息了。
至此,可喜可贺,Appium大门已经向你敞开啦,可以愉快地玩耍啦~~~
本篇旨在提供入门级的小白指引,更多高阶玩法敬请各位看官细细把玩~~~
本人不才,才疏学浅。还望海涵,恳请指正。