前言:

本文大部分内容引用自:

linux超Appium自动化测试环境搭建

写本文的主要目的是给自己留一个备份

安装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调试

posted on 2020-02-13 15:19  菜鸟叨叨  阅读(172)  评论(0编辑  收藏  举报