Appium简介
什么是Appium
Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android和Windows应用程序。
Appium的优势
- 可以跨平台同时支持Android、iOS
- 支持多种语言,java、python、php、Ruby等等
Appium组件
-
Appium Server
Appium Server就是Appium的服务端——一个web接口服务,使用Node.js实现。
安装方式npm install -g appium
-
Appium-Desktop
Appium Desktop是一款适用于Mac,Windows和Linux的开源应用程序,它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能。Appium-Desktop是Appium Server的一款图形界面 -
注意
Appium Desktop与Appium不同。 Appium Desktop是Appium的图形前端,带有其他工具。 Appium Desktop以其自己的节奏发布,并拥有自己的版本控制系统。 就像国内很多定制的Android系统有自己版本号,但是都是基于一个Android系统版本封装的。版本号不一定与Andriod原生系统版本号一致。如:魅族的flyme6.0系统的内核是Android 5.1
图片.png
图片.png
-
Appium GUI
Appium GUI是Appium desktop的前身。 也就是把Appium server封装成了一个图形界面,降低了使用门槛。
该产品的Windows版本在2015年的AppiumForWindows_1_4_16_1.zip之后就停止更新了。目前版本可以使用,但是封装的不是最新的Appium版本,而是1.4.16版本。如果要使用最新的桌面版需要使用Appium Desktop。 -
Appium Clients
因为Appium是一个C/S结构,有了服务端的肯定还有客户端,Appium Clients就是客户端,它会给服务端Appium Server发送请求会话来执行自动化任务。就像我们浏览器访问网页,浏览器是客户端,通过操作发送请求服务器来获取数据。我们可以使用不同的客户端浏览器(IE,Firefox,Chrome)访问一个网站。 Appium客户端可以使用不同的语言来实现,如Python,java等。具体详见下表:Language/Framework Github Repo and Installation Instructions Ruby https://github.com/ appium/ruby_lib Python https://github.com/appium/python-client Java https://github.com/appium/java-client JavaScript (Node.js) https://github.com/admc/wd Objective C https://github.com/appium/selenium-objective-c PHP https://github.com/appium/php-client C# (.NET) https://github.com/appium/appium-dotnet-driver RobotFramework https://github.com/jollychang/robotframework-appiumlibrary
Appium-desktop
Appium-desktop主界面包含三个菜单Simple,Advanced、Presets
Simple
-
host
设置Appium server的ip地址,本地调试可以将ip地址修改为127.0.0.1 ,0.0.0.0表示可以接入所有网段 -
port
设置端口号,默认是4723不用修改 -
start server
启动 Appium server图片.png
Advanced
高级参数配置修改,主要是一些Android和iOS设备,log路径等相关信息的配置。
图片.png
Presets
将Advanced中的一些配置信息作为预设配置。
启动Appium
点击Start Server,启动后控制台提示如下信息,表示Appium启动成功。
[Appium] Welcome to Appium v1.8.1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
参考资料
https://github.com/appium/appium-desktop