Appium Appium 项目首页简介

思寒_seveniruby · October 27, 2013 · Last by kaige201314 replied at December 17, 2015 · 2182 hits

Appium

Appium是一个支持原生,混合和移动web apps的开源的跨平台测试框架工具

NPM version
Build Status

支持平台

  • iOS
  • Android
  • FirefoxOS

为什么选择appium ?

  1. 你不需要以任何方式重新编译或者修改你的app,就可以在所有的平台上使用标准的自动化APIs
  2. 你可以用你喜欢的开发工具使用任何 WebDriver 兼容的语言来编写测试用例.比如 Java, Objective-C, JavaScript with Node.js (in both callback and yield-based flavours), PHP, Python, Ruby, C#, Clojure, 或者 Perl 可以使用标准的Selenium WebDriver API和特定语言的客户端库.
  3. 你可以使用任何测试框架.

依托 WebDriver 意味着你可以押宝在一个已经成为事实上标准的独立,自由和开放的协议.而不会被限制在任何的专利中

如果在没有使用Appium的情况,你使用了Apple的UIAutomation库就只能通过Javascript,并且只能通过Instruments application插桩应用来运行你的测试.
同样的,在Google的UiAutomator体系下,你只能用Java写你的测试案例.
Appium最终开启了跨平台原生移动自动化的可能.

依赖

你的环境需要配置好运行测试相关的特定移动平台,下面列出相关的依赖平台
如果你想通过npm install来运行appium, 为Appium研究和贡献力量.你需要node.js and npm 0.8 或者更高版本 (brew install node).

IOS依赖

android依赖

  • Android SDK API >= 17 (Additional features require 18)
  • Appium支持OS X上的Android, Linux和Windows上的beta支持.确保你通过如下的指示来配置你需要运行测试的不同系统的环境

FirefoxOS Requirements

快速开始

启动Appium server,并运行用你喜欢的 WebDriver 兼容的语言编写的测试用例.
你可以用node.js或者下面的应用程序来运行Appium

使用Node.js

$ npm install -g appium
$ appium &

使用app

为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
以了解如何从源代码中进行编译,测试和运行

其他项目的授权和灵感来源

Credits

邮件列表

声明和公告经常放到讨论组 Discussion Group, 需要注册

问题定位

我们增加了一个 问题定位指南.
如果你遇到一些问题,请看下这个问的那个.它包含了一些常见的错误说明,以及在无法解决的情况如何和社区联系

使用Robots扩展

可以使用appium的一些robots扩展.或者其他的robots.想了解更多可以看看 Appium Robots

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

翻译了项目首页,已经merge到了 https://github.com/testerhome/appium

#1楼 @seveniruby 请问下,如何使用appium做跨app测试,搜了半天没搜到相关资料,希望告知一下,非常感谢!

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up