App自动化测试|Appium介绍
Appium简介
Appium是一个开源工具,用于自动化iOS手机、Android手机和Windows桌面平台上的原生、移动Web和混合应用。
- 原生应用:指那些用iOS、Android或者WindowsSDK编写的应用。如安卓自带的计算器等;
- 移动Web应用:是用移动端浏览器访问的应用(Appium支持iOS上的Safari、Chrome和Android上的内置浏览器)。如手机百度网等;
- 混合应用:带有一个「webview」的包装器——用来和Web内容交互的原生控件。如腾讯新闻、淘宝app等。
Appium是跨平台的:它允许你用同样的API对多平台(iOS、Android、Windows)写测试。做到在iOS、Android和Windows测试套件之间复用代码。
Appium的理念
Appium旨在满足移动端自动化需求的理念,概述为以下四个原则:
- 不应该为了自动化而重新编译你的应用或以任何方式修改它
- 不应该被限制在特定的语言或框架上来编写运行测试
- 移动端自动化框架不应该在自动化接口方面重造*
- 移动端自动化框架应该开源,在精神、实践以及名义上都该如此
Appium的优势
- 可以跨平台同时支持Android、iOS
- 支持多种语言,java、python、php、Ruby等等
Appium相关组件
- Appium Server:
- Appium Server就是Appium的服务端——一个web接口服务,使用Node.js实现
- Appium-Desktop:
- Appium Desktop是一款适用于Mac,Windows和Linux的开源应用程序,它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能
- AppiumClient
- 因为Appium是一个C/S结构,有了服务端的肯定还有客户端,Appium Client 就是客户端,它会给服务端 Appium Server 发送请求会话来执行自动化任务。就像我们浏览器访问网页,浏览器是客户端,通过操作发送请求服务器来获取数据。我们可以使用不同的客户端浏览器(IE,Firefox,Chrome)访问一个网站。Appium客户端可以使用不同的语言来实现,如Python,java等。