Appium -GitHub

Appium

Appium是一个开源的、跨平台的测试自动化工具,用于本地、混合和移动web和桌面应用程序,在模拟器(iOS)、仿真器(Android)和真实设备(iOS、Android、Windows、Mac)上进行测试。

Supported Platforms

iOS

Android

Windows

Mac

请参阅平台支持doc以获得更详细的信息。


Why Appium?

1、由于在所有平台上使用标准的自动化api,您不必重新编译应用程序或以任何方式修改它。

2、您可以使用您喜欢的开发工具编写测试,使用任何与WebDriver兼容的语言,如Java、objective - c、JavaScript和Node.js(in promise, callbackorgeneratorflavors)、PHP、Python、Ruby、c#、Clojure或Perl中使用Selenium WebDriver API和特定于语言的客户程序库。

3、您可以使用任何测试框架。

在WebDriver协议上投资意味着你在一个单一的、免费的、开放的测试中打赌,这已经成为一个事实上的标准。不要把自己锁在一个专有的堆栈里。

如果你使用苹果的ui自动化库,而不使用Appium,你只能使用JavaScript编写测试用例,而且只能通过工具应用程序运行测试。同样,使用谷歌的UiAutomator,您只能在Java中编写测试用例。Appium打开了真正跨平台的本地移动自动化的可能性。

我还没明白…

如果你是Appium小白,或者想要更详细地描述这一切,请阅读我们的Appium概念介绍

需求(Requirements)

您的环境需要为您想要运行测试的特定移动平台设置。具体的平台需求见下文。

如果您想通过npm安装运行Appium,对Appium进行hack或贡献,您将需要node.js和npm 4或更高的版本(使用n或brew安装节点来安装node . js)。确保你没有安装有sudo的节点或Appium,否则你会遇到问题。我们推荐最新的稳定版本。

为了验证Appium的所有依赖项是否满足,您可以使用appium-doctor命令行。使用命令行安装npm install- g appium-doctor(或从源代码运行它),然后运行appium-doctor,并提供——ios或——android标志,以验证所有的依赖项都是正确设置的。

您还需要下载您的语言的Appium客户端,这样您就可以编写测试。Appium客户端是对WebDriver客户端的简单扩展。您可以在Appium客户端列表中看到客户端和链接的下载说明。


iOS Requirements

1、Mac OS X 10.10 or higher, 10.11.1 recommended

2、XCode >= 6.0, 7.1.1 recommended

3、Apple Developer Tools (iPhone simulator SDK, command line tools)

4、确保您阅读了我们的关于为iOS测试设置您自己的文档!

Android Requirements

1、Android SDKAPI >= 17 (Additional features require 18/19)

2、Appium在OS X、Linux和Windows上支持Android。确保你遵循了在不同的OSes中正确设置你的环境的变量:

linux

osx

windows

Windows Requirements

1、Windows 10

2、文档

Mac Requirements

1、Mac OS X 10.7 +

2、Documentation

Quick Start

启动一个Appium服务器,然后运行你最喜欢的webdriver兼容语言的测试!您可以使用node.js或使用该应用程序开启一个Appium服务器,见下文。

(通过使用node.js开启一个Appium服务)Using Node.js

$ npm install -g appium(这里有一个巨坑,npm版本如果是最新(5.3.0)的则无法安装,会一直报错,所以需要给npm降低版本:npm install npm@4 -g,如果这一步出错,那就需要先清除npm缓存:npm cache clean 如果这一步出错,那就试试:npm cache verify。然后再降低版本


$ appium

如前所述,您可能想要运行命令行:appium-doctor,以确保您的系统正确设置:

$ npm install -g appium-doctor

$ appium-doctor(执行这个命令和点击图形化界面上的“听诊器”图标(如下图:)检测是一致的,效果如图:)

图形化界面点击“听诊器”图标验证安装是否成功


验证appium配置成功的界面


通过使用Appium Desktop应用程序开启一个Appium服务

1、首先需要下载Appium Desktop:Download the Appium app

2、Run it!


编写Appium测试用例

开始编写和运行测试用例的主要指南是the running tests doc,其中包括对iOS、Android和Android旧设备的解释。如果您对物理硬件测试感兴趣,您可能会对我们的真机测试感兴趣。

(注意:如果你在自动操作ios10 +,一定要看看我们的XCUITest迁移指南,因为苹果的自动化支持自ios10以来已经发生了显著的变化,在Appium中发生了相应的变化)。

从本质上讲,我们支持一个子集的WebDriver JSON线路协议(Selenium WebDriver JSON Wire Protocol),并扩展它,这样您就可以指定移动目标desired capabilities这个很重要,需要的测试参数格式)通过Appium运行您的测试。

您可以使用WebDriver的元素查找策略的一个子集来查找元素。有关详细信息,请参阅查找元素。对于像点击、晃动和滑动这样的自动移动手势,我们也有几个扩展到JSON Wire协议。

您还可以在混合应用程序中自动化web视图!参见混合应用指南

这个存储库包含许多不同语言的测试示例!

对于完整的Appium文档页面列表,请访问此目录


Appium是如何工作的(How It Works)

Appium驱动各种本机自动化框架,并提供基于Selenium的WebDriver JSON线路协议的API

对于新的iOS版本(9.3和up),Appium驱动着苹果的XCUITest库。我们对XCUITest的支持使用了Facebook的WebDriverAgent项目。

对于旧的iOS版本(9.3和以下),Appium驱动苹果的UIAutomation库,使用基于Dan Cuellar在iOS Auto上的工作的策略。

Android支持使用新的平台的UiAutomator框架和较老的Android平台的Selendroid

Windows支持使用了微软的WinAppDriver

(Contributing)

请查看我们的贡献文档,了解如何从源代码构建、测试和运行Appium。

路线图(Roadmap)

对未来的Appium有兴趣?看看路线图

原文出处:Appium

补充:

解释:1、安装node,主要是因为安装了node以后就会自带npm,有了npm以后才能继续安装appium;2、安装appium;3、不知道干啥用,我没用到;4、启动appium服务

注意:Make sure you have not installed Node or Appium with sudo, otherwise you'll run into problems。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,571评论 25 707
  • Appium和它的设计思想 什么是Appium? 1、appium是开源的移动端自动化测试框架; 2、appium...
    RmondJone阅读 4,368评论 2 7
  • Appium学习之路—环境搭建 说实话,Appium第一次接触还是在testerhome看到的,介绍说这个框架可以...
    点点寒彬阅读 9,921评论 10 34
  • 1.什么是Appium? Appium 是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iO...
    六六_fiona阅读 1,655评论 0 5
  • 互联网营销在许多情况下,不仅仅是为了销售,而是为了打造品牌影响力! 思维决定成败,要成为一名互联网营销人才,必须具...
    言射手阅读 362评论 0 4