前言:
本文大部分内容引用自:
写本文的主要目的是给自己留一个备份
安装Java JDK:
JDK下载:
JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads
尽量选择高版本的JDK,因为后期安装 Android SDK的时候,会要求就是JDK版本
1.如果您的电脑未安装JDK,那么首先我们先安装一下JDK
打开JDK下载地址,安装下图的方式下载你想要的版本
注意下载是需要oracle账户的,自己去完成账户注册
JDK安装
2.双击下载好的JDK并安装
点击【下一步】,可以修改安装路径
点击【下一步】,并等待安装完成
3.JDK已经安装完成,接下来需要配置环境变量
配置环境变量1
1.右击【计算机】-【属性】-【高级系统设置】如图:
2.点击【环境变量】,在系统变量中【新建】变量,变量名:JAVA_HOME 变量值:JDK的安装路径 , 确定
配置环境变量2
继续上面的步骤。再新建一个系统变量, 变量名:CLASSPATH 变量值:.:C:\Program Files\Java\jdk-11\lib
配置环境变量3
系统变量中找到Path并选择,点击【编辑】-【新建】 并添加JDK的bin文件夹所在目录 我的为:C:\Program Files\Java\jdk-11\bin
完成以上步骤 那么我们的JDK就安装完成了,接下来看下我们环境是否真的成功配置好
1.打开cmd(window+r)并输入cmd
cmd中输入如下命令 java -version 回车 看到以下信息就标识我们的环境安装成功了
安装Node.js
安装node.js之前,我们需要知道,为什么要安装node.js? 因为appium是node.js实现的,node相当于appium的解释器
Node.js下载地址:https://nodejs.org/en/download/current/
由于我的电脑是windows 64位的系统,这里我直接下载windows 64位的msi程序文件
下载完成后直接双击安装即可(傻瓜式的安装),所以我就不说具体步骤了,安装后,检查是否安装成功
cmd终端输入第一个命令 node -version,输出下面的信息
接着再输入 npm 命令,输出下面的信息
ok, 这说明node.js已经安装成功
安装Appium server
不知道你做过或者学习过selenium没有,这里的appium server 相当于 selenium中的浏览器驱动程序,当启动浏览器驱动时会初始化一个服务器,
绑定本机的地址和端口,那么Appium server也一样,当启动appium时同样会初始化一个服务器绑定本地的地址和端口
安装server有两种方式
第一种:使用npm工具
使用命令 npm install -g appium 安装,不过这种安装方式比较慢(我用这种方式没安装成功,可能网速不行,报了一些错误,比较尴尬)
第二种:安装desktop版本
这种安装方式还是比较快的,但是下载安装包也比较慢,好歹安装没出现什么问题
下载地址
https://github.com/appium/appium-desktop/releases (这个是官网的地址,按下图下载最新的安装即可)
下载完成之后,直接双击安装
这里我也不叙述安装过程了,同样的傻瓜式安装,默认安装目录: C:\Users\v-xug\AppData\Local\Programs\Appium
配置环境变量
appium安装目录下的node_modules\.bin添加到系统环境变量(添加放看后面吧)
注:老版本的有这个目录,新版的我还真没找到这个目录,所以也不需要配置环境变量了-modify at: 2019.08.12
如果你以前安装了appium,请卸载重新安装,否则可能遇到意外错误
安装完成后能够成功打开桌面的appium程序,说明安装过程暂时没什么问题
下载安装Android SDK
下载地址: https://www.androiddevtools.cn/
打开网页后不要被迷惑,继续往下翻就看到下图
下载完成后,直接双击安装即可
注释:就是这个SDK Tool要求JDK的版本,如果你的版本过低,就无法安装,需要重新安装配置JDK,相信你不想再走一遍那个安装过程
安装完成后,找到你的安装目录,并找到SDK-manager工具双击打开
每项对应说明,参考地址:https://www.cnblogs.com/Caiyilong/p/8559394.html
自己根据需求选择对应的sdk build-tools,Android SDK Platform-tools及api,api我选择的API 22(5.1.1)版本
Android SDK Platform-tools, SDK build-tools我这里是直接下载安装的最新版本,如果你下载的版本比较低的话,后面链接模拟器或者真机时可能会链接不上
点击上图中的[Install packages],弹出下面的页面,点击Accept License后安装,等待所有包安装完成(所需时间比较久,请耐心等待)
配置环境变量
新建系统变量
ANDROID_HOME=D:\Program Files\Android\android-sdk变量及值(SDK的安装目录)
添加系统变量
把platform-tools及tools添加到系统环境变量,变量值(路径)之间使用分号隔开,两个变量值分别为:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;或者直接添加绝对路径
配置完环境变量之后,我们就可以使用adb命令了
安装Appium Client
我们使用python开发appium的自动化测试脚本,肯定离不开appium的一些api库,所以说这里的appium 客户端就是python代码使用的库,用来连接appium server 及操作app
安装appium client 就非常简单了,只要你已经配置好了python环境,就可以直接使用pip安装了,cmd 执行pip install Appium-Python-Client即可完成安装,输入下图命令不报错,代表已经安装成功
环境检查
注:这里我只在老版本的appium中找到 appium-doctor这个工具, 新版的并没有找到,那怎么办呢?
打开CMD执行命令 npm install -g appium-doctor 安装appium-doctor
现在们就可以使用appium-doctor命令检查整个环境是否有问题了
cmd执行 appium-doctor命令,如何你的输出信息和我的一样那么恭喜你环境搭建成功了
测试环境验证
找到Appium的图标,管理员模式运行
下面我们通过编写一段简单的代码程序,验证一下程序是否能够成功驱动模拟器打开指定的app,如果没有报错,那么到此为止整个appnium自动化测试环境就已经完成了
打开appium,并启动服务器,保持模拟器开启状态
1 # -*- coding: UTF-8 -*- 2 import sys 3 import os 4 from appium import webdriver 5 APKPATH = "D:\\Download\\cgbmb_20200120152545_5.4.0.15_ydsit_debug_cgb_mb_sec_sign.apk" 6 7 class BuildDriver: 8 def __init__(self): 9 self.address = "http://127.0.0.1:4723/wd/hub" 10 def connect(self): 11 desired_caps = self.get_desire_caps("android") 12 driver = webdriver.Remote(self.address,desired_caps) 13 return driver 14 15 def get_desire_caps(self,phoneTye): 16 devices = "21aa58fd" 17 capabilities = {} 18 if phoneTye.lower() == "android": 19 capabilities = { 20 "platformName": "android",# 设备系统 21 "deviceName": devices, # 设备名称 22 "platformVersion":'9.0', # 设备系统版本 23 "app": APKPATH, # apk路径 24 "noSign": "false", # 是否重复签名 25 "noReset": "true", #是否重新安装APP 26 "unicodeKeyboard": "true", 27 "resetKeyboard": "true", 28 "appPackage": "com.cgbchina.xpt", 29 "appActivity": "com.xxxx.xxxxx.xxxxx.LauncherActivity", 30 "autoGrantPermissions":"true", 31 "newCommandTimeout": 3600, 32 "recreateChromeDriverSessions": "true", # 不重启app,直接在当前页面调式 33 "fullReset": "false", 34 } 35 elif phoneTye.lower() == "ios": 36 capabilities = { 37 "platformName": "ios", 38 "deviceName": 'iPhone', 39 "udid": devices, 40 "app": APKPATH, 41 "automationName": "XCUITest", 42 "noReset": "true", 43 "unicodeKeyboard": "true", 44 "resetKeyboard": "true" 45 } 46 else: 47 raise Exception("phone type is wrong!") 48 return capabilities 49 50 if __name__ == '__main__': 51 buildconnect = BuildDriver() 52 buildconnect.connect()
对应的APP运行成功
总结
1.JDK版本安装最新版本
2.记住每个安装对应的路径,环境变量不要配置错误
3.真机链接后,打开开发者模式,打开USB调试