更多课程 选择中心

软件测试培训
达内IT学院

400-111-8989

Android 手机自动化测试工具有哪几种


基于优秀的图像对比库opencv的测试工具,测试脚本使用Python编写,非常强大。

如果你的app没有源码,可以选择它;或者你想做系统测试(跨app的测试),也可以选择它。

先说说开源的吧:

Robotium

Monkeyrunner

Robolectric

CTS

还有个新兴的测试工具,以前在GitHub看到,现在找不到了,好像是BDD类型的语法,现在还不成熟。

另外基于web的测试也有基于Selenium Webdriver 的 Android WebDriver:

有两种,基于Remote Server的。

官方提供了java接口的,但是Python版的官方里面却没有。

Python版,GitHub:https://github.com/truebit/AndroidWebDriver4Python

基于Instrumentation的,已经在Android SDK r14里面可以安装了。

不开源的就多了,不过我见过的一般是以下几种思路:

1. 基于Android Java Instrumentation框架。基于Robotium,比如bitbar的产品,#/products

基于Instrumentation,那就海了去了,很多公司自家写的工具都基于这个,另外Robotium就是基于这个的

2. 基于Android lib层的各种命令,比如sendevent,getevent, monkey, service这些,然后用各种语言封装。

MonkeyRunner还是很有前景的,Google自己弄的。现在最新的dev版本已经有支持UI的id操作的EasyMonkey了。

以分类的角度来说

1)纯白盒方式的测试,Monkey。楼上已经有哥们提到了,使用moneky更多的是开发team,而不是纯粹的测试team,毕竟要求对android开发比较了解才用得了monkey。

2)偏白盒的robotium,这家伙号称是黑盒,但是本人不太认同~ 因为使用robotium需要知道package和acitivity这样的细节,即便不是开发人员来做,也得从开发人员那里获得不少开发文档才能做。

3)纯黑盒的方式,这个分类比较有意思,我分得细点。

3-1)sikuli,原来只针对桌面应用,后来自然延伸到了android app,让人眼前一亮的测试方式。框个图,写个简单的python测试脚本(其实java脚本也可以),测试就做好了,简单又形象,还有逻辑。因为验证点是依赖于图片比对,所以瓶颈也在此。屏幕大小和分辨率的不同是这种测试的硬伤,如果测试团队觉得每个手机上抠下来的图要重新截,那…也就没啥了。

3-2)testin,deviceanywhere等

楼上那个哥们应该是testin的人,介绍已经很全面了,我只概括一下。这类测试本身没有神马特别的,无非是放在了云端,将规模化的测试做到了极致,与其说是测试工具,不如说是测试平台。说缺点嘛也有,由于只是简单的基于坐标的脚本录制(并没有灵活的功能性验证点),这种测试往往比较简单,只是做做简单的适配性和性能测试,毕竟卖点不在测试类型上。

3-3)clicktest论原理,也是基于图片对比技术,只是做了些优化,比对的智能一些,跨手机的效果更好罢了。也支持录制回放,自定义了一些测试命令,易上手,可读性强,不再需要使用者(手工测试人员)编程了。另外,支持工作流式的逻辑集成,可以灵活得组合测试步骤,增强复用性。clicktest是工具,不是平台,欢迎各位咨询和探讨。

4)硬件辅助的测试方式,我就不举例了

先说原理,硬件辅助视频输出(摄像头or视频线),控制方式是软硬件结合。这种方式的特点,跨平台杠杠的,但是成本高,包括硬件成本以及硬件工程师的成本。

免责声明:文章内容转载自公开网络,如有侵权,请联系我们删除。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:测试岗位的求职套路
下一篇:做游戏测试都需要了解哪些

chatGPT在软件测试中七大应用方式

达内软件测试课程全新升级,培养π型测试人才

软件测试流程设计—黑盒测试用例设计方法

学习软件测试需要了解的数据库知识?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

陕西省

湖南省

贵州省

云南省

广西省

海南省