【金阳光测试】Android自动化 -- 学习历程:Appium原理初步

章节:自动化基础篇——Appium原理初步(第七讲)

金阳光测试官网:

http://www.goldensunshine.cc/forum.php?mod=viewthread&tid=19&extra=page%3D2

 

本期关键词:

Appium、跨语言跨平台、Bootstrap

 

主要讲解内容及笔记:

一、what is appium

一种封装了uiautomator、或者其他测试框架的自动化测试框架,跨平台(支持linux、mac、windows)、跨语言(几乎所有的我知道的语言都支持,像什么java、objecet c、脚本语言python、ruby等)

二、the demo

从demo看怎么写自动化test case,包括一个setup方法,一个teardown方法,然后就是testcase了

其中setup方法中需要设置一系列参数,包括app的文件目录File appDir,app的文件名称File app;是做android的测试,设置“device” “android”属性,设置包名、main activity的名称(sdk下面的一个工具,aapt dump badging +apk文件)就可以得到包名和activity的名称

最后最重要的是一个driver的对象,后面编写用户会用到这个driver,调用driver.xxx的方法进行编写测试case

这个driver = new SwipeableWebdriver(new URL("http://127.0.0.1:4723/wd/hub"), capablities);

需要这个driver与server进行通信,然后这个server再通过bootstrap与手机端进行通信(中间隔了两层,比较厚,接触可能不太好,所以容易出现一些问题)

具体原理图:

三、the framework and the analysis of source code

1、UiWatchers——作用:监听ANR(app not response)或crashes,然后打印日志出来

2、BootStrap——socket服务对象,就是封装了Uiautomator,然后通过“4723”的端口进行通信

3、AndroidElement——这个就是获取控件的class

4、Click——继承自handler,对UI上的异步线程的操作都会用到handler类,获取到控件之后,不像robotium把控件放到一个arraylist里面,而是直接进行执行(具体操作由Uiautomator来完成)

5、Strategy——8种获取控件的方法

6、driver——linux、mac、以及windows上的driver都没有开源(这是核心)

四、appium极限(与其他产品对比,可以做IOS的自动化测试,没有之一)

appium支持IOS,android和mobile web

robotium支持android以及mobile web

Uiautomator支持anroid和坐标点的mobile web

这几个是目前主流的,多学多看,加油!

 

1、官网:www.goldensunshine.cc
2、百度搜:金阳光测试,找到金阳光学习资料和官网、视频。
3、官方新浪微博:金阳光woody
4、官方qq:212260449
6、官方YY教育频道:74894998
7、官方CSDN技术资料:http://blog.csdn.net/haorenmin2008

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。