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

Android 手机自动化测试工具有哪几种-夕阳问答网 & Android 手机自动化测试工具有哪几种信息问题Android 手机自动化测试工具有哪几种-夕阳问答网发起者:推荐回答或者你想做系统测试(跨app的测试)。我非常喜欢/products  基于/truebit,非常强大:https://bitbar, service这些相关信息& & & & & 其他回答编写容易,目前国内外用的比较多,打包,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码),同时支持iOS和Android,API更加精确、抬起。测试脚本不仅可以运行于模拟器,它提供了一个多设备平台自动化测试的服务、屏幕点击。Android部分也是基于Instrumentation,资料比较多,社区也比较活跃、结果检 查、DroidPilot是一个自动化测试工具.1)及以上,不像模拟器或设备需要dexing(Android dex编译器将类文件编译成Android设备上的Dalvik VM使用的格式),所以不能跨App,有比较大的学习成本、Robolectric另辟蹊径,其中包括、LessPainful将Android测试又推进了一步,但是Instrumentation允许你对应用程序做更为复杂的测试,几款HTC。5。3,实现对正在开发的应用程序进行压力测试、打开相机拍照,对测试人员来说要求较高、学习成本,可以编写测试脚本来自定义数据现在。基于Java,所有设备或模拟器都能运行测试,也有日志输出。缺点是对测试人员来说要有一定的Java基础。11。它支持的设备包括 Garmin Asus,Samsung Galaxy,已经有大量的Android自动化测试架构或工具可供我们使用,最后测试将自动执行并生成测试报告,不能跨多个App,你可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件、自动回放,在程序运行期间监控你的主程序:很多App有选择相册,大大减少了测试执行的时间、触摸屏输入。缺点是脚本用Python来写,可以测试Native App、更简洁、滚动等事件,以此来缩短回归测试的时间、Selendroid。Instrumentation是通过将主程序和测试程序运行在同一个进程来实现这些功能,但是网上资料较少、手势输入等);平台,了解Android基本组件;服务器JVM。缺点是对测试人员来说编写代码能力要求较高:1。严格意义上来说MonkeyRunner其实是一个Api工具包,如按键输入,社区活跃度也不大。缺点是只支持SDK 16(Android 4,比Monkey强大。通过Instrumentation你可以模拟按键按下、Espresso是Google的开源自动化测试框架、UiAutomator也是Android提供的自动化测试框架、Instrumentation是早期Google提供的Android自动化测试工具类,能跨App(比如,不能跨App,不能自定义。因为是基于Instrumentation的,基本上支持所有的Android事件操作。配合Android Studio来编写测试的简单例子6、Monkey是Android SDK自带的测试工具,选择测试运行需要的设备配置,它并不依赖于Android提供的测试功能.xml文件,容易快速上手、Hybird App,更可以同时运行于多台移动设备。4。用户上传应用(*,测试代码结构简单,甚至是框架层面的,这样更能凸显测试结果 的真实性和可比性、Robotium也是基于Instrumentation的测试框架,这就是跨App测试)。2,在Android原有的ActivityInstrumentationTestCase2类基础上进行了扩展。Pivotal实验室声称使用Robolectric可以在28秒内运行1047 个测试,编写测试代码简单,部署和运......回答时间:[]1、Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出。实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。2、MonkeyRunner也是Android SDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本用Python来写,对测试人员来说要求较高,有比较大的学习成本。3、Instrumentation是早期Google提供的Android自动化测试工具类,虽然在那时候JUnit也可以对Android进行测试,但是Instrumentation允许你对应用程序做更为复杂的测试,甚至是框架层面的。通过Instrumentation你可以模拟按键按下、抬起、屏幕点击、滚动等事件。Instrumentation是通过将主程序和测试程序运行在同一个进程来实现这些功能,你可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件,在程序运行期间监控你的主程序。缺点是对测试人员来说编写代码能力要求较高,需要对Android相关知识有一定了解,还需要配置AndroidManifest.xml文件,不能跨多个App。4、UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。基于Java,测试代码结构简单、编写容易、学习成本,一次编译,所有设备或模拟器都能运行测试,能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App测试)。缺点是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。5、Espresso是Google的开源自动化测试框架。相对于Robotium和UIAutomator,它的特点是规模更小、更简洁,API更加精确,编写测试代码简单,容易快速上手。因为是基于Instrumentation的,所以不能跨App。配合Android Studio来编写测试的简单例子6、Selendroid:也是基于Instrumentation的测试框架,可以测试Native App、Hybird App、Web App,但是网上资料较少,社区活跃度也不大。7、Robotium也是基于Instrumentation的测试框架,目前国内外用的比较多,资料比较多,社区也比较活跃。缺点是对测试人员来说要有一定的Java基础,了解Android基本组件,不能跨App。8、Athrun是淘宝出的一个移动测试框架/平台,同时支持iOS和Android。Android部分也是基于Instrumentation,在Android原有的ActivityInstrumentationTestCase2类基础上进行了扩展,提供一整套面向对象的API。这里有详细介绍。9、Appium是最近比较热门的框架,社区也很活跃。这个框架应该是是功能最强大的,它的优点:它的哲理是:它的设计理念:相关限制:总结:在iOS部分是封装了UIAutomation;Android 4.2以上是用UiAutomator......回答时间:[]Copyright & 2017手机自动化测试工具有哪些_手机问题_土巴兔装修问答
手机自动化测试工具有哪些
报价结果将发送到您的手机
装修顾问-馨馨
4年行业经验,24h可咨询
10秒闪电通过好友
您的装修预算约
*装修管家将回电您,免费提供装修咨询服务
*因材料品牌及工程量不同,具体报价以量房实测为准
装修顾问 -馨馨
(四年装修行业经验)
微信扫一扫
手机自动化测试工具有哪些
提问者:樊鸣玉|
时间: 13:33:11
已有3条答案
回答数:41909|被采纳数:352
合肥张杨空间装饰设计工程有限公司
所有回答:&41909
一、首先说说手机自动化测试的原理
1、手机自动化测试的原理为PC上一个控制端(测试工具)与手机上的一个agent端,通过串口、USB或者无线方式将PC与手机终端相连,然后应用测试工具向手机发送请求或者命令,手机收到命令或者请求后,交给agent端解析,然后agent将这些解析的命令下发给手机的各个功能模块所能识别的命令,调用那些功能模块模拟操作。完成这些操作后,手机会返回一些信息,agent可以抓取这些信息,然后传回给PC端,这样就完成了一个完整的手机自动化测试。
2、关键点在于agent,有的公司是向自己的手机终端的软件功能模块中植入测试程序响应代码,有的公司可以利用MMI_Command的方式来控制手机终端;原理就是给手机提供一个响应的接口。
3、而对于PC控制端,这个测试脚本用各种编程语言都可以,看如何定义
4、而又的自动化测试设计成录制的机制,说通俗点,就是记录手工操作的键盘信息或者LCD的操作信息(LCD需要用到智能识别机制)
5、自动化测试框架的搭建方法是通用的,你需要有一套自己的测试框架才能保证自动化测试的顺利开展。
二、Android自动化测试方向:
1、CTS,CTS &&测试基于Android &&instrumentation &&测试, &&其又基于JUnit &&测试。说白了, &&CTS &&就是一堆单元测试用例。这也是Java &&语言的擅长部分。
2、 &&Monkey工具,Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
3、ASE,ASE &&意思为Android &&脚本环境, &&即我们可以通过脚本(比如Python)调用Android &&的功能,从而定制一些测试。比如打电话,发短信,浏览网页,等。我们可以扩充它的API(Java &&部分), &&并用python &&脚本调用这些API, &&从而实现丰富的测试功能。用于API &&部分可以访问到Android &&全部API, &&python &&又能灵活部署测试,所以ASE &&的扩展性非常好。
4、Robotium,该工具用于黑盒的自动化测试。可以在有源码或者只有APK &&的情况下对目标应用
进行测试。Robotimu &&提供了模仿用户操作行为的API,比如在某个控件上点击,输入Text
回答数:45586|被采纳数:11
叶凉城是也
所有回答:&45586
你好,这样子你可以试试看下面的方法介绍
 基于优秀的图像对比库opencv的测试工具,测试脚本使用Python编写,非常强大。如果你的app没有源码,可以选择它;或者你想做系统测试(跨app的测试),也可以选择它。其它的还是用下面说的那些个吧。
  基于优秀的图像对比库opencv的测试工具,测试脚本使用Python编写,非常强大。如果你的app没有源码,可以选择它;或者你想做系统测试(跨app的测试),也可以选择它。其它的还是用下面说的那些个吧。
  我通过其核心包sikuli-script.jar实现了android的sikuli化,暂时不打算开源。其实原理挺简单的,认真看过sikuli源码的应该都能写出来。
回答数:1305|被采纳数:0
所有回答:&1305
MonkeyTalk &&是世界上最强大的移动应用测试工具。MonkeyTalk &&自动为 &&iOS &&和 &&Android &&应用进行真实的,功能性交互测试。MonkeyTalk &&提供简单的 &&&smoke &&tests&,复杂数据驱动的测试套件。望采纳。
已有 3 个回答
已有 3 个回答
已有 3 个回答
已有 3 个回答
已有 5 个回答
位业主已在问吧找到答案
简约现代风、清爽宜家风、典雅美式复古风总有一种适合你!
一万套装修案例
下载土巴兔APP
中国装修网Android的自动化测试工具
  我们要开始讨论基于应用的自动化测试。在此之前,我们需要先关注两点安卓系统独有的两大特点:&Root机&与&扰码&。这两点是在上述桌面应用自动化测试中不曾碰到过的。为什么会提及这两点呢?原因很简单,就是关乎于安卓应用界面对象的识别。
是否需要Root设备
  如果只是为了识别图像或浅层对象,如文本或坐标,测试工具不需要Root权限就可以办到。但是对于一些深层次的对象属性,如可见性、宽度、滚动属性等,恐怕就要获得系统Root权限才能截获。然而,是否有办法可以绕过系统Root权限就能捕捉深层对象属性呢?毕竟,出于各种原因的考虑,Root机的动作不是所有测试人员都愿意做的。安卓系统的设计中规定,两个应用之间是互相独立的,双方各不干涉。不过,如果双方都具备相同的签名,则可互相通信。如此看来,签名就像一把钥匙,打开之后,测试工具就可以与被测应用通信了。
签名与扰码的被测apk
  如果用签名的办法来获取对象,就有可能会引入另一个问题:对被测应用的反编译。毕竟,不是所有测试人员都能很容易的拿到代码编译一个测试版本。很多时候,是开发团队打包一个apk交予测试人员进行测试的。所以,要是测试工具与被测应用获得相同的签名,必须先经过反编译之后,设置相同的一个临时签名,再重新进行编译和打包。这样又会引入另一个问题:如果最初的apk加入了扰码,导致无法正确反编译怎么办?就像签名一样,扰码也是一种保护Android APK的手段之一。遇到这种情况,似乎只能联系开发团队去掉扰码了。上述两点是因为要抓取被测应用对象而引入的问题。当然,对于界面对象属性要求不高的话,也可以直接截取屏幕图片作为对象,这是这样做,就只能通过图像对比的方式来识别对象了。接下来,我们来看看市面上一些现有工具的做法。
  目前市面上的安卓自动化测试工具主要分为三种类型:
  通过界面图像的对比识别对象&这类工具的代表是以色列的。这是一款纯Web操作方式的工具,可以支持测试脚本跨平台执行;
  通过在源码级识别对象&这类工具的代表是芬兰的。它是以EclipsePlug-in的方式工作,可以将录制的操作步骤生成Robotium或MonkeyRunner脚本;
  通过数字签名识别对象&这类工具的代表是。它可以说是高度模仿HPQTP的操作方式,对于自动化测试工程师来说,也许会有似曾相识的感觉;
  接下来,我们准备从以下几个方面剖析这三类工具对于关键字驱动自动化测试的支持:
  1.与被测apk的通信
  2.脚本编辑器
  3.与其它测试工具的整合管理
  4.并发控制多台设备
1.与被测apk的通信
  首先来看PerfectoMobile。这款工具是纯Web操作方式。它对应用程序界面对象的识别是通过图像对比来判断,所以严格来讲,这并不能称之为&对象&。但不得不承认,这种做法使得跨平台(iOS, Android, Blackberry&)的对象识别成为可能。同样道理,即是从图像来识别对象,也是通过图像来操作对象。当对象库中的该图像在当前屏幕的对比匹配率达到一定程度,即可认为找到了该对象,从而也就可以对相应区域进行点击、滑动等操作了。
  第二种是DroidPilot的做法,即上面《前置条件》章节提到的通过签名模式与被测应用取得通信。这种做法虽然也是仅限于Android平台,但毕竟可以抛开源码,更贴近于测试工程师的工作行为。然而,正如所提到的,这种做法难免遭遇&扰码&的阻碍。所以,用这种方式做自动化测试,必须要求被测应用不能加任何扰码信息。其实这里还有一点是关于反编译之后,被测应用的行为是否会发生改变的问题。这里可以确定的是,由于反编译之后,仅仅是改变了被测应用与测试工具之间的临时签名信息,对于被测应用压缩包中的信息并无任何改动,所以,被测应用的行为是可重复、可验证的。
  第三种是TestDroid的做法,直接从代码级截获对象。在Eclipse开发工具装上TestDroid插件,直接点击录制按钮,即可启动被测应用。所录的操作步骤,可以生成Robotium或MonkeyRunner脚本(注:Robotium和MonkeyRunner是Android平台最流行的两款开源测试工具)。这种直接在代码级操作的做法,尽管能毫无阻拦的拿到任何想要的对象信息,但是也有几点待商榷之处:1.对于测试工程师直接来到代码级进行操作,从代码安全性考虑,这并不是对于所有企业都可行;2.这种做法仅限于Android应用,不能做到像图片识别那样跨平台。当然,对于iOS引用来说,是否需要花力气去做自动化测试,还是可以商议的,毕竟它的设备种类不太多,省去了许多兼容性测试的成本。
2.脚本编辑器
  对于PerfectoMobile,由于它是以纯Web方式操作,即脚本的编辑和执行都是在浏览器端操作,这样可以让客户免于安装客户端。他在Web端提供了一种脚本设计器,可以通过拖拽设备模拟按键(如打电话,发短信,音量键、返回键等)到设计窗口,编排顺序以产生测试用例。近年PerfectoMobile又提供了HP QTP插件,使用户可以用QTP来制作脚本,并把做好的脚本上传到他们的网站,借助他们的设备来执行脚本。DroidPilot则是完全自己开发的脚本解析器,选用的语言也是VB Script。而且它也提供了一种脚本设计器,这种设计器可以通过点选界面对象和针对对象的操作,来构建测试流程,并把设计好的测试流程转换成为脚本语言。这种设计器虽然可以快速构建简易的测试流程,但是对于复杂一点的测试逻辑,还需要测试工程师自己在脚本中完善。TestDroid则通过流行的开源工具Eclipse作为脚本编辑器。它以Eclipse插件的形式存在。通过该插件来录制脚本、回放脚本。录制的脚本可以生成Robotium或MonkeyRunner脚本语言。这些脚本语言对于开发工程师来说也许会很熟悉,因为有不少安卓开发工程师自己也会用这些工具来制作一些简单的自动化测试脚本用于每日脚本构建(Daily Build)后的冒烟测试(Smoke Test)。
3.与其它测试工具的整合
  管理PerfectoMobile在Web端是没有整合任何测试管理工具的,纯粹是提供设备给用户使用,用于制作测试脚本和回放。近年由于新开发的QTP Plug-in,使得它能借助HP测试管理工具Quality Center用于管理测试脚本和跟踪缺陷。 TestDroid由于走的是开源工具路线,可以借助Eclipse的相关插件来达到管理测试脚本的效果。例如,使用Eclipse的svn插件,可以使得脚本保存于svn数据库,有利于测试团队协同工作。但是对于缺陷跟踪管理这一块,似乎还没有明确的工具整合进来。DroidPilot在设计之初就考虑到了与一些开源测试管理工具的整合,例如,用TestLink作为测试用例管理,用Bugzilla/Mantis作为缺陷管理工具。因此,DroidPilot提供了与这些开源工具之间对接的http协议接口。
4.并发控制多台设备
  DroidPilot有专门的脚本编辑工具ScriptDesigner,而且这个工具也是限定了只能连接一台设备进行脚本编辑和回放。如果需要连接多台设备进行兼容性测试的话,就需要用到DroidPilot的另一款工具&&AutoRunner。通过这款工具,用户可以将多个脚本在多台设备上执行回放,还可以设置按设备顺序回放,还是多设备并发回放。TestDroid由于是使用Eclipse插件形式工作,这个插件在录制和回放脚本的时候同一时间只能链接一台机器。尽管这样做对于脚本的编辑和调试来说已经够用了,但还无法满足批量设备的兼容性测试。因此,他们又额外开发了一个在线平台,用户只需要将开发好的脚本和被测应用上传到他们的服务器,这些应用和脚本就会被自动部署于服务器端的大量安卓设备,并执行测试。PerfectoMobile号称拥有市面上所有智能手机(iOS,Android, Blackberry&),而且这些手机部署在全球不同国家。用户登录Web控制台后,可以对这些手机进行任意操作:打电话、发短信、安装/卸载被测应用等。它不但等做到测试脚本跨设备执行,甚至还可以跨平台执行,因此,可以说,他在兼容性测试方面还是考虑的比较全面的。利用这些工具我们可以摸索一些适合自己的现实情况中切实有效的实施自动化测试的方法。
延伸阅读:
频道总排行
频道本月排行
免费服务热线
加微信,有好礼

我要回帖

更多关于 android的自动化测试 的文章

 

随机推荐