草帽路飞UU 发表于 2017-7-12 11:27:37

【转贴】appium简明教程 1 – appium和它的哲学世界

本帖最后由 草帽路飞UU 于 2017-7-12 11:29 编辑

什么是appium?
下面这段介绍来自于appium的官网。

我们可以从上面的介绍里获得这样的一些信息:
1,appium是开源的移动端自动化测试框架;
2,appium可以测试原生的、混合的、以及移动端的web项目;
3,appium可以测试ios,android应用(当然了,还有firefox os);
4,appium是跨平台的,可以用在osx,windows以及linux桌面系统上;
appium的哲学

appium的设计哲学是这样的:
1,不需要为了自动化而且重新编译或修改测试app;
2,不应该让移动端自动化测试限定在某种语言和某个具体的框架;也就是说任何人都可以使用自己最熟悉最顺手的语言以及框架来做移动端自动化测试;
3,不要为了移动端的自动化测试而重新发明轮子,重新写一套惊天动地的api;也就是说webdriver协议里的api已经够好了,拿来改进一下就可以了;
4,移动端自动化测试应该是开源的;
appium的技术架构

[*]OS: Apple’s UIAutomation
[*]Android 4.2+: Google’s UiAutomator
[*]Android 2.3+: Google’s Instrumentation. (Instrumentation support is provided by bundling a separate project, Selendroid)

appium的设计思想

首先,为了能够实现哲学里描述的第2条,也就是**不应该让移动端自动化测试限定在某种语言和某个具体的框架;也就是说任何人都可以使用自己最熟悉最顺手的语言以及框架来做移动端自动化测试;**appium选择了client-server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及webdriver如何做到支持多语言的;
其次,为了能够实现**不要为了移动端的自动化测试而重新发明轮子,重新写一套惊天动地的api;也就是说webdriver协议里的api已经够好了,拿来改进一下就可以了;**这个思想,appium扩展了webdriver的协议,没有自己重新去实现一套。这样的好处是以前的webdriver api能够直接被继承过来,以前的webdriver各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量;
最后appium当然是开源的,这也实现了哲学思想里的最后一点。

啦啦啦啦哈 发表于 2017-7-12 17:15:55

谢谢楼主的分享

低调做游戏 发表于 2017-7-19 16:49:32

看了,我就顶一下
页: [1]
查看完整版本: 【转贴】appium简明教程 1 – appium和它的哲学世界