Appium
Appium安装教程

Appium 是一款开源的、多平台的自动化测试工具,用于测试原生和轻量移动应用,允许测试人员在不同的平台使用同一套 API 来写自动化测试脚本,支持 iOS, Android 和 FirefoxOS 平台。主要是一个移动端的自动化框架,在 windows、mac 上也有 GUI 程序,提供给大家的是 windows 版本。
Appium 驱动苹果的 UIAutomation 库和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 协议。Appinm 的 iOS 支持是基于 Dan Cuellar's 的 iOS Auto. Appium 同时绑定了 Selendroid 用于老的 Android 平台测试。

Appium 功能
- appium 是开源的移动端自动化测试框架;
- appium 可以测试原生的、混合的、以及移动端的 web 项目;
- appium 可以测试 ios,android 应用(当然了,还有 firefox os);
- appium 是跨平台的,可以用在 osx,windows 以及 linux 桌面系统上;
Appium 特色
1,不需要为了自动化而且重新编译或修改测试 app;
2,不应该让移动端自动化测试限定在某种语言和某个具体的框架;也就是说任何人都可以使用自己最熟悉最顺手的语言以及框架来做移动端自动化测试;
3,不要为了移动端的自动化测试而重新发明轮子,重新写一套惊天动地的 api;也就是说 webdriver 协议里的 api 已经够好了,拿来改进一下就可以了;
4,移动端自动化测试应该是开源的;

Appium 优势
因为 Appium 在所有平台上都使用了标准的自动化接口,所以你不需要以重新编译或者修改你的 app。
你可以用你喜欢的开发工具,使用任何 WebDriver 兼容的语言来编写测试用例。比如 Java,Objective-C,JavaScript with Node.js (in both callback and yield-based flavours),PHP,Python,Ruby,C#,Clojure,或者 Perl。可以使用标准的 Selenium WebDriver API 和特定语言的客户端库。
你可以使用任何测试框架。
如果没有 Appium,你就只能用 Javascript 来写 Apple 的 UIAutomation 脚本,并且只能通过 Instruments 应用来运行你的测试。同样的,在 Google 的 UiAutomator 体系下,你只能用 Java 写你的测试案例。Appium 最终开启了跨平台原生移动自动化的可能。
appium 的核心其实是一个暴露了一系列 REST API 的 server。
这个 server 的功能其实很简单:监听一个端口,然后接收由 client 发送来的 command。翻译这些 command,把这些 command 转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些 command 后把执行结果返回给 appium server,appium server 再把执行结果返回给 client。
在这里 client 其实就是发起 command 的设备,一般来说就是我们代码执行的机器,执行 appium 测试代码的机器。狭义点理解,可以把 client 理解成是代码,这些代码可以是 java/ruby/python/js 的,只要它实现了 webdriver 标准协议就可以。
这样的设计思想带来了一些好处:
- 可以带来多语言的支持;
- 可以把 server 放在任意机器上,哪怕是云服务器都可以;(是的,appium 和 webdriver 天生适合云测试)
