APPium简介及安装

1 APPium简介

1. 什么是APPium?

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

2. APPium的特点

支持多平台(Android、iOS等)

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

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

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

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

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

3. APPium工作原理

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

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

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

最后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

2.配置环境变量

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

2.2 Android环境

3.官网下载Android SDK

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

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

设置环境变量

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

4)验证:

2.3 Python环境

4.官网下载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

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

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
一叶祇秋7 小时前
Leetcode - 周赛417
算法·leetcode·职场和发展
邵泽明9 小时前
面试知识储备-多线程
java·面试·职场和发展
戊子仲秋9 小时前
【LeetCode】每日一题 2024_10_2 准时到达的列车最小时速(二分答案)
算法·leetcode·职场和发展
夜流冰10 小时前
工具方法 - 面试中回答问题的技巧
面试·职场和发展
penguin_bark11 小时前
LCR 068. 搜索插入位置
算法·leetcode·职场和发展
大模型八哥15 小时前
大模型扫盲系列——大模型实用技术介绍(上)
人工智能·程序人生·ai·大模型·llm·llama·ai大模型
希望有朝一日能如愿以偿1 天前
力扣题解(飞机座位分配概率)
算法·leetcode·职场和发展
___Dream1 天前
【黑马软件测试三】web功能测试、抓包
前端·功能测试
SZPU领跑1 天前
第十二届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)(第一套)
stm32·单片机·算法·职场和发展·蓝桥杯
未来可期LJ2 天前
【测试-BUG篇】软件测试的BUG知识你了解多少呢?
软件测试·bug