IOS、Android自动化测试框架Appium概述

  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、PythonRuby、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.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组织的联系方法。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-02 19:30:24

IOS、Android自动化测试框架Appium概述的相关文章

腾讯Android自动化测试实战1.1 Android自动化测试框架概述

1.1 Android自动化测试框架概述 2007年Android开源时,Monkey.Instrumentation和MonkeyRunner这3个测试框架,是跟Android源码一起发布的,这也是最早可用的自动化测试框架,那几年大家基本都是用这些框架来开展自动化相关测试工作的.2010年,第一个第三方的测试工具Robotium(基于Instrumentation)发布了,不少测试人员就转用这个框架,Robotium社区逐步发展起来.图1-1所示为Robotium热度随时间变化的趋势. 201

Android自动化测试框架—Robotium 4.3介绍

Android自动化测试框架Robotium新推出的4.3版本的主要工作是审查之前的代码并做优化,同时做了一些bug修复和新功能. 新版的的功能是: - waitForDialogToOpen() // 等待对话框打开,默认等待时间是largeTimeout - waitForDialogToClose()// 等待对话框关闭,默认等待时间是largeTimeout - getString(String id) // 可以传入文本id - scrollToSide(int side, float

淘宝Android自动化测试框架-TMTS

2010年是淘宝无线突飞猛进开创无线新业务的一年.而从2011年初开始,淘宝技术质量部自动化测试组便致力于手机自动化框架的调研和开发工作.TMTS(Taobao Mobile Test System)框架,正是尝试从Android和IPhone入手,建立无线测试领域的自动化测试整体解决方案.经过前段时间的开发,及业务线试用,TMTS框架Android部分已经趋于稳定.而IPhone的自动化框架也已经开发完成,目前正在业务线试用阶段. 本文重点介绍TMTS框架的Android部分,这部分目前已经开

iOS应用功能测试框架 KIF概述

KIF的全称是Keep It Functional,来自Square,是一款专为iOS设计的移动应用测试框架.由于KIF是使用Objective-C语言编写的,因此,对于iOS开发者而言,用起来要更得心应手,可以称得上是一款非常值得收藏的iOS测试利器. KIF最酷的地方是它是一个开源的项目,且有许多新功能还在不断开发中.例如下一个版本将会提供截屏的功能并且能够保存下来.这意味着当你跑完测试之后,可以在你空闲时通过截图来查看整个过程中的关键点.难道这不是比鼠标移动上去并用肉眼观察KIF点击和拖动

Android App开发的自动化测试框架UI Automator使用教程_Android

Android的自动化测试有很多框架,其中ui automator是google官方提供的黑盒UI相关的自动化测试工具,(GitHub主页:case使用java写,今天实践了一下官方文档中样例程序,其中还是有一些小问题需要总结一下的. 环境准备: 1.JDK(是的,你没看错,基础的android开发环境必备),以及对应的环境变量配置,不会的可以自己百度下下 2.Android Studio(IDE尊崇个人意愿) 3.android SDK以及配置 4.ANT(主要用于build我们的脚本,生成j

腾讯Android自动化测试实战

腾讯Android自动化测试实战 丁如敏 盛娟 等著 图书在版编目(CIP)数据 腾讯Android自动化测试实战 / 丁如敏等著. -北京:机械工业出版社,2016.10 ISBN 978-7-111-54875-1 Ⅰ. 腾-   Ⅱ. 丁-   Ⅲ. 移动终端-应用程序–程序设计   Ⅳ. TN929.53 中国版本图书馆CIP数据核字(2016)第223713号 腾讯Android自动化测试实战 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037) 责任编辑:

腾讯Android自动化测试实战导读

前 言 Preface 为什么要写这本书 早在2010年年底,我们团队就有出一本关于移动互联网测试书籍的计划(那时候移动互联网测试书籍基本没有),当时计划的内容涉及面比较广,涵盖测试设计.测试用例管理.测试流程.自动化测试.专项测试等领域.不过,由于各种原因被搁浅,确实有点儿可惜,否则移动互联网测试国内的第一本书当时就面世了.这次终于又有机会整理这些年的测试经验并形成一本书了,借此可以跟业界的同行一起交流切磋. TMQ(Tencent Mobile Quality)腾讯移动品质中心,是腾讯内部最

腾讯Android自动化测试实战第2章

第2章 自动化测试框架及应用领域综述 近几年,随着移动互联网的快速发展,智能终端的App应用越来越广,Android测试技术也备受重视,新的终端自动化测试框架层出不穷,本章笔者就自动化测试的入门知识及其应用做一个浅显的梳理与总结,与读者一同探讨移动终端自动化测试思路和方案.同时,本书主要也是围绕本章节提到的基础框架及其应用场景进行实战分析与演练,以亲身体验总结出实际项目经验,给准备实施或正在实施自动化测试的读者提供一些帮助和建议. 自动化测试在软件测试的各大沙龙.行业峰会以及培训课程中都是一个热

[android]android自动化测试十三之monkeyRunner自动化框架

1.MonkeyRunner自动化遇到的问题 一.元素坐标不好定位 二.不利于代码复用 三.出现问题不好调试 四.无封装大量多余代码  针对以上四点问题,尝试了一些自动化测试框架,虽不尽如意,但是也把成果展示如下:  1.制作一个应用,该应用可以得到你应用上所点击的IP $ ./andrec --help Usage: andrec [options] apkfile Options: --version show program's version number and exit -h, --