AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

APPIUM-从1到100000用户的开源项目(APP自动化测试框架) by Dan Cuellar

发布者 test
发布于 1448239894513  浏览 5081 关键词 开源, 自动化测试, 移动开发 
分享到

第1页

一个从 1到100000用户 的开源项目

如何 不经意的创造一个流行的开源项目



第2页

关于主讲人

Dan
 Cuellar

• 毕业于卡内基梅隆大学计算机系 • Appium项目发起人 • 供职于 FOODit,任软件测试工程总监 • 曾供职于Microsoft,
  Zoosk,
 and
 Shazam



第5页

测试任务中最困难的5个字:



第6页

以及类似的



第7页

不完美的解决方案



第8页

什么是APPIUM

• 基于Selenium
 J SON-­‐wire
 协 议的,可以控制原生或混合 iOS
  及 Android
 应 用的实现。

• 移动应用功能测试领域最流行的开源框架。



第9页

APPIUM 哲学

• 使用标准化模块化的APIs
 和技术; • 支持多样语言

Java,
 C #,
 P ython,
  Ruby,
 Objective-­‐C,
 n ode.js,
 PHP,
 以及更多

• 测试中不修改应用本身;

• 免费并开源;



第10页

如何工作?



JSON-­‐Wire
  Protocol
  Request



Test
 脚 本



HTTP



JSON-­‐Wire
  Protocol
  Response



UIAutomation /
  UIAutomator

Appium Server



第11页

为世人所知



第12页

为世人所了解

• 解答了论坛中所有关于该项目的问题; • 解答了StackOverflow中所有关于该项目的问题; • 在尽可能多的会议中发表演讲; • 积极向感兴趣的公司介绍我们; • 活跃在 Twitter及其他社交媒体。



第13页

失控是好现象

• 志愿者们自发提交了Android支持 • 代码被移植到了其他语言 • 我甚至曾经一度不能提交修改 (!) • 我曾经因为其他演讲者已经发表了关于

Appium主题演讲,而被大会拒绝接纳。



第14页

扩展性

• 最终,
 你无法亲力亲为回答所有问题

• 人们可以从已经丰富了的论坛中学习,开源社区也可以回答他们;

• 你无法测试或评估 每一次提交

• 单元测试是必要的

• 你已经不知道appium中正在发生什么

• 撰写高质量的发布说明

• 附加高质量的提交说明



第15页

发起一个开源项目



你不应该:

• 使用非开源的技术 • 用电子邮件共享代码 • 缺少文档 • 忘记公开你的讲演文档 • 仅私下交流遇到的问题



正确的做法:

• 全程使用开源技术 • 把代码放到 GitHub • 撰写文档 • 共享你的演讲文档及视频 • 在论坛中公开得回应问题



第17页

出现分歧时

• 事先约定一致认可你们的思想及目标将会很有帮助

• 这里面不涉及等级、权威

• 分歧和冲突最好公开讨论解决

• 辩论会带来更好的解决方案 • 透明化的解决方案能令最终用户更好得理解你们的决定

• 动手写代码的人,一般有做决定的主动权



第18页

当和平已经遥不可及

• 失去一些开发者是个损失,但也不是什么大不了的

• 除非他们彻底退出开源世界,
 他们的工作成果依然可以被大家共享

• 存在多个类似的项目并不是一件坏事

• 竞争带来进步 • 用户喜欢有可选择

总之,
 最了不起的那个会胜出



第20页

一些数字

在过去的3年里 • 在GitHub上收到超过2,000个👍,
 1,500
 Forks • 超过100个贡献者及 5,000次提交 • Appium 1.0
 被下载超过150,000
 次 • 有超过3,000个问题被解决



第32页

第一条由机器人发出的TWITTER



第33页

APPIUM机器人是如何工作的?

• Calibrate
 the
 robot
 to
 map
 points
 in
 the
 physical
 world
 to
 points
 on
 a
  device
  screen

• Run
 an
 app
 on
 the
 device
 with
 Appium that
 can
 tell
 you
 what
  coordinates
 are
 being
 touched

• Touch
 three
 places
 on
 the
 device
 and
 record
 the
 physical
 a nd
 device-­‐ centric
 coordinates

• Build
 a
 matrix
 to
 translate
 any
 point
 between
 the
 two
 systems

• Intercept
 touch
 actions
 with
 the
 Appium Server
 and
 send
 them
 to
  the
 
 robot



第34页

数学原理



第36页

APPIUM为何成功?

• 从第一天开始,
  我们就有一个清晰的指导思想和目标 • 尽可能多的吸纳成员,
  使我们成为一个活跃的社区

• 支持尽可能多的语言和平台 • 使用已经存在的、大家熟悉的工具 • 我们所有的决定都是为了使我们成为一个活跃的社区

• 我们为之奉献

• 去出席参加每一个可以与我们相关的会议、论坛 • 在第一年里,我们机会回答了社区中每一个问题



第37页

支持的语言和平台



第38页

我们参加的会议



第39页

多种语言的网站



第40页

支持MAC和WINDOWS



第41页

我的习得

“Life
 can
 be
 much
 broader
 once
 you
 d iscover
 one
 simple
 fact:
  Everything
 around
 you
 that
 you
 call
 life
 was
 made
 up
 by
 people
 t hat
  were
 no
 smarter
 than
 you
 a nd
 you
 c an
 change
 it,
 you
 c an
 influence
 i t,
  you
 can
 build
 y our
 own
 things
 that
 other
 people
 c an
 use. Once
 you
 learn
 that,
 you'll
 n ever
 be
 the
 same
 again.”

-­‐Steve
 Jobs



第42页

更多

• 网站:
 http://www.appium.io • Slack:
 appium.slack.com • 论坛:
 discuss.appium.io • GitHub:
 http://www.github.com/appium/appium



支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。