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大门已经向你敞开啦,可以愉快地玩耍啦~~~

 


 

本篇旨在提供入门级的小白指引,更多高阶玩法敬请各位看官细细把玩~~~

本人不才,才疏学浅。还望海涵,恳请指正。

 

posted @ 2019-03-10 00:38  深蓝小佛  阅读(9634)  评论(0编辑  收藏  举报