Appium
Appium是一个开源、跨平台的
测试框架,可以用来测试原生及混合的
移动端应用。Appium支持IOS、
Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellar’s对于IOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。
1. Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用。
2. Appium支持
Selenium WebDriver支持的所有语言,如
java、Object-C、JavaScript、Php、
Python、
Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架。如果只使用Apple的UIAutomation,我们只能用javascript来编写
测试用例,而且只能用Instruction来运行测试用例。同样,如果只使用
Google的UIAutomation,我们就只能用java来编写测试用例。Appium实现了真正的跨平台自动化测试。
Requirements
总体:
IOS自动化测试需要Mac os操作系统
Mac OS X 10.7或者更高版本,推荐10.8.4版本
需要安装node和npm(node版本高于0.8)
IOS自动化:
Mac Xcode
Apple开发者工具(
iphone模拟器sdk,及命令行工具)
Android自动化:
Android SDK API版本 >= 17,即android版本高于4.2
快速入门
方案1: 使用Appium.app
下载appium.app dmg
在Apple系统上安装appium.app,就可以直接运行自己的case
方案2: 使用node从命令行运行appium
安装node及npm
下面命令是在linux系统中安装appium
mkdir appium-test && cd appium-test npm install -g appium # might have to do this with sudo sudo authorize_ios # enable developer use of iOS sim npm install wd curl -O https://raw.github.com/appium/appium/master/sample-code/examples/node/simplest.js appium & node simplest.js |
下面是一些不同语言编写的appium的测试用例
Example Tests: Node.js | Python | PHP | Ruby | Java
问题解决
如果使用过程遇到问题,可以参考这里,这里包含了一些常见错误的解决方法,也包含appium组织的联系方法。