前言:
本系列教程用于个人经验记录,用于他人借鉴,提供一定参考价值。经常会有一种感觉,工具或技术在某一阶段使用比较熟练,过一段时间就可能会遗忘,俗话说好记性不如烂笔头,以此记录。

appium简介:
      Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android和Windows应用程序,appium是跨平台的,可以用在osx,windows以及linux桌面系统上。
工作原理
  在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试。UiAutomator测试框架是Android SDK自带的App UI自动化测试Java库。
  另外由于UiAutomator对H5的支持有限,appium引入了chromedriver以及safaridriver等来实现基于H5的自动化。
 
工作流程:
  ①client端也就是我们的webdriver测试脚本;
  ②中间起的是Appium服务,Appium在服务端起了一个Server(端口:4723)。跟selenium Webdriver测试框架类似,Appium⽀持标准的WebDriver JSONWireProtocol。在这里提供它提供了一套REST的接口,Appium Server接收web driver client标准rest请求,解析请求内容,调⽤对应的框架响应操作;
  ③appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上.Bootstrap监听4724端口并接收appium 的命令,最终通过调⽤用UiAutomator的命令来实现;
  ④Bootstrap将执行的结果返回给appium server;
  ⑤appium server最后将结果返回给 appium client。
 
appium安装主流程主要包括
  1. 安装Java环境搭建;
  1. 安装Android SDK环境搭建;
  1. 安装Node.js;
  1. 安装Appium-sever;
  1. 安装Appium-Cient桌面版
  1. 安装Appium-python-Client
 
1.配置Java环境
1.1 下载安装
下载地址:JDK官网下载,目前JDK版本以不低于1.8为宜,具体安装步骤就不再继续提及,下一步下一步就好啦,相信小伙伴都是OK的。
 
1.2 环境变量配置:
此电脑-->右键点击"属性"-->选择"高级系统设置"-->点击"环境变量"
  • 添加JAVA_HOME:
"变量名"处填上"Java_Home",变量值为JDK的安装路径
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_172
                   


  • path变量设置:
path变量已经存在,直接追加变量值即可
将引号里面的全部复制“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
注:此处有坑,win10系统需要去掉分号,分行粘贴
(笔者遇到问题:打开cmd,输入java,java -version没有问题,但是javac提示不是内部命令,问题经排查后path的环境变量分行粘贴,问题解决)
 


 
  • 添加系统变量CLASSPATH
  • 新建CLASSPATH,变量值键入 “.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar”
2.安装AndroidSDK

  2.1 下载地址官方下载地址网盘地址链接:提取码:kt5y

  2.2 AndroidSDK工具下载
    双击SDK下的SDK Manager.exe文件,勾选需要下载的packages,需要下载哪些packages,可参考如下标准:
    1. Android SDK Tools(必须,只需下载一个版本,一般选最新版本):基础工具包,版本号带rc字样的是预览版。
    1. Android SDK Platform-tools(必须,只需下载一个版本,一般选最新版本):从android2.3开始划出此目录,存放公用开发工具,比如adb、sqlite3等,被划分到了这里。
    1. Android SDK Build-tools(必须,可以安装多个版本):Android项目构建工具。
    1. Android xxx(API xx) 目录(可选的各平台开发工具)如,Android 8.1.0(API 27)
    1. SDK Platform(必须):对应平台的开发工具,需要在哪个版本的平台下开发就下载哪个。
    1. Android Support Repository(可选):主要是方便在gradle中使用Android Support Libraries,因为Google并没有把这些库发布到maven center或者jcenter去,而是使用了Google自己的maven仓库。
    1. Google USB Driver(可选) 连接真机时需要用到。
    1. Google Web Driver (可选)测试H5页面时需要用到。
    1. Intel x86 Emulator Accelerator(HAXM installer)(可选):windows平台的Intel x86模拟器加速工具,配合Intel x86 atom/atom_64 System Image使用可加快模拟器的运行速度。
  2.3 环境变量配置
  新增 ANDROID_HOME 系统变量为你的 Android SDK 路径
  ANDROID_HOME :F:\Program Files\android-sdk-windows
  path:%ANDROID_HOME%\platform-tools
  path:%ANDROID_HOME%\tools
  path:%ANDROID_HOME%\build-tools\29.0.3
 
 
终端输入CMD,验证安装是否成功
 
 
 
3.安装node.js
  下载地址官网下载地址   或用上述网盘地址
  直接双击下载安装文件,根据程序的提示,完成nodejs的安装
  验证安装:输入node-v 或者输入npm验证
 
4. Appium sever的安装配置(非必须安装)
  appium-server:主要用来监听我们的移动设备(真机或模拟器),将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试。
  • 安装:直接双击appium-installer.exe文件安装就好,桌面会生成一个appium的图标
  • 配置环境变量:把node_modules的bin目录放到系统的Path路径里
    • path: F:\Program Files\Appium\node_modules\.bin
  • 验证安装是否OK:进入cmd命令行,输入appium-doctor ,出现以下提示,All Checks were successful ,说明环境成功。

 
  注:Appium-Server有一两年没有更新了。Windows版在2015年底止步于的 AppiumForWindows_1_4_16_1.zip,于是,新的工具 Appium-desktop 来了! 它来继续 Appium-Server的使命。当然,Appium-Server当前仍然是可用的。接下来则来说说Appium-desktop
 
5.安装appium-桌面版客户端
  下载地址: 官方下载   或者找上述网盘地址下载,安装过程按照提示下一步下一步即可
  在安装好了之后,用appium-doctor来检查是否配置成功,但新版的appium是没有doctor文件的,所以需要通过npm下载并安装,命令如下:
    

pm install -g appium-doctor
6.安装Appium-python-Client
  • 使得appium和python建立连接关系,使用命令:

    pip install Appium-Python-Client
  • 注意:版本要>=0.29
  • 通过pip list 可以查看版本号

Appium自动化Android环境搭建的更多相关文章

  1. python3+Appium自动化01-Appium环境搭建

    环境依赖 Node.js Appium Appium-desktop Appium-doctor Appium-Python-Client Python JDK Android SDK 安装Node. ...

  2. appium测试android环境搭建(win7)

    第一步:安装appium 1. 下载并安装Node.js(地址:https://nodejs.org/download/) 2. 下载git, 并且配置环境变量:(之前没有配置git, 报错找不到gi ...

  3. Android自动化测试之环境搭建

    Android自动化测试之环境搭建 一.Android-sdk介绍 SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台. ...

  4. Robot Framework自动化_环境搭建以及第一个用例

    Robot Framework自动化_环境搭建以及第一个脚本 培训老师:肖能尤 2016/06/07 课程目的 一.Robot framework 环境搭建以及第一个脚本 课程内容 1    安装前准 ...

  5. Android 环境搭建

    一.Android 环境搭建 开发工具: Android Studio(开发工具,前提是先装 java JDK) 下载地址:http://www.androiddevtools.cn/   Oracl ...

  6. 20145308刘昊阳 《Java程序设计》实验四 Android环境搭建 实验报告

    20145308刘昊阳 <Java程序设计>实验四 Android环境搭建 实验报告 实验名称 Android环境搭建 实验内容 搭建Android环境 运行Android 修改代码,能输 ...

  7. android环境搭建——工欲善其事,必先利其器 2

    前两天鼓捣android, 搭建环境,不想麻烦就用了  adt-bundle-windows-x86-20140702. rar , 起个模拟器哇塞,太爽了. 出去转一圈唠会回来正好启动成功!有个网友 ...

  8. 第一课 android环境搭建

    android环境搭建需要的工具: 1.JDK 2.eclipse 3.SDK 4.ADT

  9. Android环境搭建的步骤

    Android 环境搭建步骤 这里简单介绍一下学习Android之后如何搭建环境的问题 一.    在搭建环境之前,首先你要先下载Java JDK(根据系统位数选择下载是64位或32位的),Eclip ...

随机推荐

  1. C#开发笔记之02-什么时候使用OnXXX方法,这种命名是什么意思?

    C#开发笔记概述 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/958 访问. 你也许经常会看到别人写的代码里有OnXX ...

  2. BLE MESH 学习[1] - ESP32 篇

    BLE MESH 学习 BLE MESH 是一种蓝牙(n:m)组网的技术. 本篇先介绍 BLE MESH 到使用 ESP32 的官方示例对其进行学习讲解. 后面会进一步学习 SIG 的 BLE MES ...

  3. (Filter + Listener )Day18

    Filter过滤器 filter是对客户端访问资源的过滤,符合条件的放行,不符合的不放行,并且可以对目标资源访问前后进行逻辑处理. 设置步骤 创建类实现Filter接口 在 doFilter 方法中编 ...

  4. 自绘引擎时代,为什么Flutter能突出重围?

    导语 | Flutter 框架是当下非常热门的跨端解决方案,能够帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面等多端开发.但仍然有很多产品.设计.甚至开发同学并不了解 Flut ...

  5. mycat数据库集群系列之mycat读写分离安装配置

    最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...

  6. 2w字 + 40张图带你参透并发编程!

    并发历史 在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行.任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就会存在 浪费资源 的情况. 这里说 ...

  7. 【Flutter 实战】一文学会20多个动画组件

    老孟导读:此篇文章是 Flutter 动画系列文章第三篇,后续还有动画序列.过度动画.转场动画.自定义动画等. Flutter 系统提供了20多个动画组件,只要你把前面[动画核心](文末有链接)的文章 ...

  8. Java并发--三大性质

    一.多线程的三大性质 原子性:可见性.有序性 二.原子性 原子性介绍 原子性是指:一个操作时不可能中断的,要么全部执行成功要么全部执行失败,有着同生共死的感觉.即使在多线程一起执行的时候,一个操作一旦 ...

  9. 直播报名 | 8.29 Kylin Meetup – 来聊聊云原生

    云原生的巨浪正在席卷全球的软件产业,包括开源和商业软件.Apache Kylin 正在为此而积极准备着:基于新的计算和存储引擎,即将发布的 Kylin 4.0 将实现真正的计算和存储分离,减小运维难度 ...

  10. 线程池之Executor框架

    线程池之Executor框架 Java的线程既是工作单元,也是执行机制.从JDK5开始,把工作机单元和执行机制分离开来.工作单元包括Runnable和Callable,而执行机制由Executor框架 ...