1 APPium简介

1. 什么是APPium?

APPium是一个开源测试自动化框架,适用于原生、混合或移动Web应用程序的自动化测试工具。 APPium使用WebDriver协议驱动iOS、Android等应用程序。

2. APPium的特点

  1. 支持多平台(Android、iOS等)

  2. 支持多语言(python、java、ruby、js、c#等)

  3. APPium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。

  4. APPium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么client用什么语言来实现都是可以的,这就是如何做到支持多语言的原因;

  5. APPium基于WebDriver协议,并进行了扩展。这样的好处是可以直接继承WebDriver API,Selenium(WebDriver)各种语言的binding都可以直接拿来使用,省去了为每种语言开发一个client的工作量。

  6. Appium的哲学:不需要重新编译或者修改应用;不被一种语言或者框架约束;不重复造轮子;开源免费

3. APPium工作原理

  1. APPium是C/S架构的。 左边是客户端的测试脚本,中间的APPium server是基于webdriver协议添加对移动设备自动化API扩展而成的。右边的Bootstrap.jar是APPium 在初始化时推送到Android手机上的一个UiAutomator测试脚本;

  2. APPium首先在服务端开启一个监听4723端口的server,接收测试脚本发送过来的对应请求,再将对应的请求发送给中间件Bootstrap.jar;

  3. Bootstrap监听4724端口由APPium发送过来的相关请求,并将请求转换成UiAutomator可以识别的命令发给UiAutomator进行处理,实现自动化测试;

  4. 最后Bootstrap将执行的结果返回给APPium Server,APPium Server再将测试结果返回给客户端。

2 安装APPium

安装APPium总体需要以下步骤:安装JDK,Android SDK,APPium-Python-Client包,NodeJS,以及APPium安装包,以下依次介绍各软件的安装过程。

2.1 JDK环境

  1. 官网下载JDK并安装

下载网址:https://www.oracle.com/java/technologies/javase-downloads.html

  1. 配置环境变量

    验证JDK环境变量已经配置好:

    2.2 Android环境

  2. 官网下载Android SDK

网址:http://tools.android-studio.org/index.php/sdk


2) 解压缩后,执行SDK Manager.exe 安装 tools, platform-tools,build-tools

  1. 设置环境变量

设置ANDROID_HOME路径为Android-SDK的安装目录,并将tools, platform-tools及build-tools添加到环境变量。

4)验证:

2.3 Python环境

  1. 官网下载python,安装并设置环境变量

a) 下载网址:https://www.python.org/downloads/

b) 安装完成之后配置python环境变量

如下图,设置PYTHON_HOME为Python的安装路径,并将PYTHON_HOME及其路径下的Scripts添加到path环境变量


验证Python环境变量设置成功

  1. 安装python客户端Appium-Python-Client,使用pip命令自动安装:

pip install Appium-Python-Client

2.4 NodeJS安装
下载网址: https://nodejs.org/en/

下载完成后,直接点击应用程序,按照默认选项一键安装。

安装完成之后,添加环境变量

验证nodeJS安装成功


2.5 Appium安装

  1. 官网下载APPium安装包,

下载网址: https://github.com/appium/appium-desktop/releases/tag/v1.20.0

  1. 下载完成后,一键安装

  2. 启动Appium

    设置JDK和Android路径,保存并重启。


重启后,点击”Star Server v1.20.0”, 出现如下画面,则表明appium server已经正常启动,可以开始真机测试了

最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几个月时间整理的非常全面的,希望也能帮助到有需要的你!

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流,同时我也把上面花几个月整理的资料放里边了,赶快加入吧。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

自学推荐B站视频:

零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

APPium简介及安装相关推荐

  1. 2021年大数据ELK(二十一):Logstash简介和安装

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Logstash简介和安装 一.简介 1.经典架构 2.对比Flume 3.对 ...

  2. 扩增子分析QIIME2(2018.6). 1简介和安装

    扩增子分析QIIME2. 1简介和安装 QIIME2版本 2018.6 简介 优点 学习思路 什么是QIIME 2? 核心概念 安装 原生安装QIIME2 虚拟机安装 使用VirtualBox方式安装 ...

  3. db2top详细使用方法_Py之PIL:Python的PIL库的简介、安装、使用方法详细攻略

    Py之PIL:Python的PIL库的简介.安装.使用方法详细攻略 目录 PIL库的简介 PIL库的安装 PIL库的用方法 1.几何图形的绘制与文字的绘制 2.绘制图形的各种案例 PIL库的简介 PI ...

  4. python compiler库_Python之compiler:compiler库的简介、安装、使用方法之详细攻略

    Python之compiler:compiler库的简介.安装.使用方法之详细攻略 目录 compiler库的简介 compiler库的安装 compiler库的使用方法 compiler库的简介 根 ...

  5. Pandas简明教程:一、Pandas简介与安装

    文章目录 1.Pandas简介 2.为何要用Pandas? 3.知识.技能与环境的准备 4.Pandas的安装与相关辅助资料 本系列教程教程完整目录: 1.Pandas简介 关于Pandas的介绍在百 ...

  6. Py之Xlrd:Xlrd简介、安装、使用方法(读取xlsx文件的shee表头名/总行数/总列数、每一行的内容、指定列的内容)之详细攻略

    Py之Xlrd:Xlrd简介.安装.使用方法(读取xlsx文件的shee表头名/总行数/总列数.每一行的内容.指定列的内容)之详细攻略  导读      xlrd,xlwt和xlutils是用Pyth ...

  7. Python之ffmpeg-python:ffmpeg-python库的简介、安装、使用方法之详细攻略

    Python之ffmpeg-python:ffmpeg-python库的简介.安装.使用方法之详细攻略 目录 ffmpeg-python库的简介 ffmpeg-python库的安装 ffmpeg-py ...

  8. Python之fastai:fastai库的简介、安装、使用方法之详细攻略

    Python之fastai:fastai库的简介.安装.使用方法之详细攻略 目录 fastai库的简介 fastai库的安装 fastai库的使用方法 1.计算机视觉分类

  9. Python之tushare:tushare库的简介、安装、使用方法之详细攻略

    Python之tushare:tushare库的简介.安装.使用方法之详细攻略 目录 tushare库的简介 tushare库的安装 tushare库的使用方法 1.基础用法 tushare库的简介 ...

最新文章

  1. led动态显示 c语言,单片机LED点阵的纵向移动(动态显示)
  2. linux下ELK搭建好之后配置sentinl插件,进行邮件告警
  3. Silverlight与数据库的三种互操作[源代码]
  4. 一篇文章带你从认识Python装饰器到熟练使用
  5. cpu缓冲区大小怎么设置_JAVA高薪面试必备知识点Volatile底层原理探究CPU在作怪
  6. android 静态注册wifi广播,Android中BroadcastReceiver详解
  7. 3.10 SE11创建类型组
  8. vue-cli构建的项目手动添加eslint配置
  9. 转换到bot模式失败_《认知觉醒》:为什么越“努力”,会越失败
  10. vue编程式导航,命名路由
  11. Tupper自我指涉公式:图象里竟然包含式子本身
  12. 怎样用c语言画二次函数图像,已知函数表达式如何画图像
  13. ppt讲解中的过渡_PPT「过渡页」怎么设计才好看?
  14. 日语学习(简单语法-2)
  15. 做人要低调,绝对经典的低调
  16. STM32CubeIDE HAL库DMA方式驱动MPU925X(1)
  17. 开一家像嘀嘀那样的公司,需要办理哪些手续和多少预算?
  18. python必备源代码-Python 自用代码(某方标准类网页源代码清洗)
  19. 微信删除好友后对方还有自己吗?教你找回被删除的那个TA
  20. Java动态生成pdf文件(用于实时生成电子证书)

热门文章

  1. Endnote使用技巧 格式更改 文献管理工具Endnote知网论文格式
  2. Flurry iOS端调研和使用
  3. android中监听的作用,Android里的AdapterView中OnItemClickListener监听器四个参数的含义...
  4. Protel的下载地址和学习资料
  5. 基于Spring Boot+Shiro+Thymeleaf+MyBatis支付系统+微信商城 源码
  6. C语言 用字符串打印ASCII码值
  7. 读完这篇,让你真正理解Redis持久化
  8. PS学习(一)文档的新建,分辨率的设置
  9. python在日常工作中的具体应用_python在实际工作中的应用有哪些
  10. channel 的底层原理