Appium

Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellar’s对于IOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。

使用Appium进行自动化测试有两个好处:
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版本
  • Android自动化测试可以在Mac、Linux上进行。对于Windows平台的支持还在beta阶段
  • 需要安装node和npm(node版本高于0.8)

IOS自动化:

  • Mac Xcode
  • Apple开发者工具(iphone模拟器sdk,及命令行工具)
    Android自动化:
  • Android SDK API版本 >= 17,即android版本高于4.2

快速入门

方案1: 使用Appium.app

  • 下载appium.appdmg
  • 在Apple系统上安装appium.app,就可以直接运行自己的case

方案2: 使用node从命令行运行appium

  • 安装node及npm
  • 下面命令是在linux系统中安装appium
    mkdir appium-test && cd appium-testnpm install -g appium  # might have to do this with sudosudo authorize_ios # enable developer use of iOS simnpm install wdcurl -O https://raw.github.com/appium/appium/master/sample-code/examples/node/simplest.jsappium &node simplest.js  

    下面是一些不同语言编写的appium的测试用例
    Example Tests:Node.js|Python|PHP|Ruby|Java

问题解决

如果使用过程遇到问题,可以参考这里,这里包含了一些常见错误的解决方法,也包含appium组织的联系方法。

使用appium编写测试用例

Appium支持Selenium WebDriver json wire 协议(部分支持,非全部)

appium定位元素的方法也和webdriver类似,但是也仅支持webdriver中的部分方法,详细信息见这里.

Appium也为json wire协议提供了一些拓展,来支持智能手机的手势动作,如tap(轻击)、flick,swipe,更多信息点击这里

Appium也支持在混合的app中,自动化测试web views,参见这里

Appium 同时支持Android和IOS平台:

  • Appium自动化测试Android、IOS,环境搭建
  • Appium自动化测试Android,环境搭建
  • Appium自动化测试Android,linux环境搭建
  • Appium自动化测试IOS,目标app准备
  • Appium自动化测试Android,目标app准备
  • IOS自动化用例执行
  • Android自动化用例执行
  • 在Mac系统中,Ruby使用appium进行自动化测试

Appium全部文档,点击这里。

更多相关文章

  1. tcping测试服务器TCP端口
  2. 在s5pv210开发板的android平台上添加busybox的支持[基于x210开发
  3. TSwitch 中文简繁显示支持(XE6 Android)
  4. android自动化测试CTS源码分析之一
  5. 使用TestProject Python SDK创建移动Appium测试
  6. Android(安卓)Studio 2.3 特性:生成Android(安卓)App Links(App l
  7. 【转】android软件测试log知多少
  8. Android培训班(84)Dalvik虚拟机的JNI测试函数
  9. ANDROID:测试环境安装配置

随机推荐

  1. Android与H5前端数据交互实现
  2. Android权限之三共享UID和签名
  3. Android的MVVM模式优缺点
  4. AndroidStudio NDK的接入FFmpeg填坑记
  5. Android中ImageView 中xml属性值android:
  6. android studio 使用AIDL实现IPC
  7. Android日志通过logcat实时输出至文件
  8. Android中常用的五种布局方式:LinearLayo
  9. android遥控长按增加第二功能
  10. 关于在Android上运行纯C程序