Appium 是一个支持原生,混合和移动 web apps 的开源的跨平台测试框架工具
依托 WebDriver 意味着你可以押宝在一个已经成为事实上标准的独立,自由和开放的协议.而不会被限制在任何的专利中
如果在没有使用 Appium 的情况,你使用了 Apple 的 UIAutomation 库就只能通过 Javascript,并且只能通过 Instruments application 插桩应用来运行你的测试.
同样的,在 Google 的 UiAutomator 体系下,你只能用 Java 写你的测试案例.
Appium 最终开启了跨平台原生移动自动化的可能.
你的环境需要配置好运行测试相关的特定移动平台,下面列出相关的依赖平台
如果你想通过npm install
来运行 appium, 为 Appium 研究和贡献力量.你需要node.js and npm 0.8 或者更高版本 (brew install node
).
启动 Appium server,并运行用你喜欢的 WebDriver 兼容的语言编写的测试用例.
你可以用 node.js 或者下面的应用程序来运行 Appium
$ npm install -g appium
$ appium &
我们支持 Selenium WebDriver JSON Wire Protocol 的一个子集
首先还需要指定特定移动平台相关的 desired capabilities 来通过 appium 运行你的测试
你可以通过 WebDriver 的元素定位策略的一个子集来定位元素
更多信息请参考 finding elements
我们也对 JSON Wire Protocol for automating mobile gestures 做了一些扩展以支持像 tap, flick, 和 swipe 这样的动作 (松开,按压,滑动等手机手势)
你也可以在混合模式下自动化你的用 HTML5 构建的 Web 页面 hybrid app
guide
这个代码地址包含了 很多不同语言的测试例子!
想了解全部的 Appium 的文档页面,请访问 这个目录.
Appium 通过多种原生自动化框架来提供基于 Selenium 的 WebDriver JSON wire protocol api
Appium 驱动 Apple 的 UIAutomation 库提供 IOS 支持. UIAutomation 基于Dan Cuellar's
Android 支持上, 在新版本的 Android 使用了 Uiautomator 框架,老版本的 android 上使用了
Selendroid
FirefoxOS 的支持依赖一个基于 Gecko 平台并且兼容 WebDriver 的自动化驱动Marionette,不过暂不翻译了.因为暂时用不到
可以看下我们的文档 contribution documentation
以了解如何从源代码中进行编译,测试和运行
声明和公告经常放到讨论组 Discussion Group, 需要注册
我们增加了一个 问题定位指南.
如果你遇到一些问题,请看下这个问的那个.它包含了一些常见的错误说明,以及在无法解决的情况如何和社区联系
可以使用 appium 的一些 robots 扩展.或者其他的 robots.想了解更多可以看看 Appium Robots