android iosapp自动化测试工具具有哪些

比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
历数最佳安卓应用自动化测试工具
关键字:自动化测试
  现今社会,几乎每个测试程序中都会用到自动测试。这不足为奇,因为最佳测试工具极大地缩减测试过程。当然不包括人为因素造成的错误和纰漏。关于自动化的测试工具有很多选择。其中一些是免费的,一些相当昂贵。一些自动化工具许多年前就有了;一些刚刚在市场上出现。但每一个工具都是独特的,都有自己的特点。
  正因为广泛可选的自动化工具使得在为一个项目选择最合适的一款变得有些困难。问题在于,几乎任何一款现存的工具都不能完全满足项目的需求。
&&& 为了使自动检测有效我们应该讲究技巧:
&&& 1、在测试和项目开始之前对软件产品进行调研;
&&& 2、明确什么测试需要自动化;
&&& 3、对自动化测试和自动化工具进行需求规划;
&&& 4、研究至少一些可用的或者合适的自动化工具;
&&& 5、基于调研选择一款最适合的或者更多工具;
&&& 6、和其他项目组成员讨论选定的自动化工具,阐明原因,得到他们的认可;
&&& 7、进行自动化测试。
  这些方法和步骤被大多专家认可。
  最近,各种各样的电脑涌现,他们的出现开始加速了软件产品的发展。最令人吃惊的是移动设备的演化;他们和个人电脑最大的区别在特质,途径和互动条件。
  因此,区别于需要特殊的应用程序。
  大多数个人电脑的是Windows。主流的操作系统有安卓,iOS,,Windows,塞班等等
  让我们一起来探究下现在最流行的自动化测试系统的应用程序―安卓
  1、Robotium――安卓测试工具
  Robotium是安卓系统最常用的自动化测试工具,并且是一款免费的安卓UI测试工具。它适合于各种不同的安卓版本及其下行版本。软件开发者经常把它称作安卓硒。Robotium创建的测试使用Java写的。事实上,Robotium是一个个体测试。
  但是Robotium需要花费很长时间努力去创建测试,就像为了自动化程序创建的源代码。它不适合互动的软件系统,不能锁住和解锁智能手机。Robotium没有记录和播放功能,它不支持截屏。
  2、MonkeyRunner――安卓App测试工具
  MonkeyRunner是最流行的有自动化功能的安卓软件测试工具。MonkeyRunner比起Robotium要低端一些。它并不处理源代码。测试创建是用Python写的,其中可能使用记录工具,为了创建测试。MonkeyRunner可以在连接状态的PC或者模拟器上运行测试。它有一个应用程序接口可以控制智能手机或者模拟器。但手机APP测试工具的最大缺陷是每个设备都要编写脚本。另一个缺陷就是,每次测试程序发生改变时都要调整。
  3、Ranorex――安卓App测试工具
  Ranorex是一个不错的自动化测试工具,不仅最新版本, 2.2.以上版本都是可以的。Ranorex的好处在于它有详细的截屏报告。他可以通过上接智能手机或者电脑。通过这个 Android 工具,自动化的测试工程师可以详细描述测试,但不包括 XML 数据格式。Ranorex可以地创建测试,自动化测试工程师只需点击鼠标。Ranorex允许附加的程序。这个模块可以被用于开发更为复杂的测试场景中。Ranorex是一个商业化的移动应用程序的工具;其许可价格是 1990欧元/年。Ranorex搜索相当慢;它需要 30 秒的时间来执行操作。其中一个必须为Ranorex文书的 文件。否则它不能通过这个工具进行自动化测试,它只能在APK 文件下工作。
  4、Appium――安卓自动化测试工具
  Appium是为iOS和安卓系统创建的自动化测试框架,是一个免费工具。它支持 2.3 及更高版本的。Appium利用WebDriver界面运行测试。它支持许多编程语言,如 Java、 C#、Ruby和其他的WebDriver数据库。它可以在移动设备上控制 Safari 和Chrome。但是,一些自动化的测试工程师抱怨它提供的报告不足。它的缺点也减少了对于XPath在移动设备上的支持。
  5、UI Automator――安卓自动化测试
  最近推出了这一工具。它支持从4.1开始的安卓版本。我们应该选择另一个更早期的安卓应用程序进行自动化测试。UI Automator能够与各类安卓系统兼容,包括系统的应用程序。这使得UI Automator可以锁定和解锁智能手机或平板电脑。通过该工具创建的脚本可以在许多不同的安卓平台上执行。它允许复制用户的操作复杂的序列。UI Automator也可以利用外部按钮的装置调节,打开和关闭设备的按钮。
  UI Automator可以与测试框架TestNG集成。在这种情况下,用户界面自动可以生成内容丰富和详细的报告,类似于由Ranorex生成的报告。此工具搜索速度还非常快。在许多安卓平台上测试后,软件测试专家认为UI Automator是质量最好的移动应用程序。它是安卓做好的应用程序之一,它由谷歌推出。
  通常大约 80%的新软件的 bug 都会重现支持的平台。其余 20%出现在其他平台上。这意味着,在大多数情况下,事先测试软件产品比盲目使用更好。
  目前, Android 4.1 版本安装了约 66%操作系统的设备。这就是为什么许多自动化的测试工程师经常决定UI Automator是最合适的解决。
  结论:
  测试自动化是一个复杂的工作。它需要充分的准备和更深入的研究。我们应该跟上信息技术在应用程序的创新。这将是创建最有效测试的重要前提。
[ 责任编辑:李代丽 ]
去年,手机江湖里的竞争格局还是…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte1995被浏览288311分享邀请回答sikuli.org),基于优秀的图像对比库opencv的测试工具,测试脚本使用Python编写,非常强大。如果你的app没有源码,可以选择它;或者你想做系统测试(跨app的测试),也可以选择它。其它的还是用下面说的那些个吧。我通过其核心包sikuli-script.jar实现了android的sikuli化,暂时不打算开源。其实原理挺简单的,认真看过sikuli源码的应该都能写出来。 看lz的意思应该只是想问应用层的,我来说点应用层的
先说说开源的吧:
RobotiumMonkeyrunnerRobolectricCTS还有个新兴的测试工具,以前在GitHub看到,现在找不到了,好像是BDD类型的语法;现在还不成熟。
另外基于web的测试也有基于Selenium Webdriver 的 Android WebDriver:
基于Remote Server的:官方提供了java接口的,但是Python版的官方里面却没有。我非常喜欢Python,所以自己实现了并且开源到了GitHub: 有问题大家可以提到上面
基于Instrumentation的:已经在Android SDK r14里面可以安装了不开源的就多了,不过我见过的一般是以下几种思路:
1. 基于Android Java Instrumentation框架:
基于Robotium,比如bitbar的产品:基于Instrumentation,那就海了去了,很多公司自家写的工具都基于这个;另外Robotium就是基于这个的2. 基于Android lib层的各种命令,比如sendevent,getevent, monkey, service这些,然后用各种语言封装
MonkeyRunner还是很有前景的,Google自己弄的。现在最新的dev版本已经有支持UI的id操作的EasyMonkey了。可以git clone git://看看10710 条评论分享收藏感谢收起15917 条评论分享收藏感谢收起查看更多回答五款Android 应用的自动化测试工具
五款Android 应用的自动化测试工具
&出处:Software Testing Help
&作/译者:Oleg Prosyanik/达茜译
&&&&&&如今自动化测试已经应用到每天的测试中。这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏。
&&&&&&自动化测试工具选择很多。一些是开源的,一些非常贵。一些自动化工具是几年前出的,一些才在市场上出来。每款工具有一定的特点,都是独特的。
&&&&&&在众多的可选择的自动化工具中,要选到项目合适的工具是比较困难的。问题是,几乎没有任何现有的工具完全适应项目的要求。
为了自动化测试有效和有益,它必须具有:
研究测试和项目中的软件产品;
明确哪些测试需自动化&
制定自动化测试和自动化测试工具的要求&
研究至少几个可用的和合适的自动化工具&
在研究的基础上选择最合适的一个或多个工具&
与其他项目方讨论所选择的自动化工具,解释选择的原因,并得到他们的批准&
推进自动化&
&&&&&&&&这些方法和步骤被多数质量保证专家认可。
&&&&&&&&最近出现了许多不同类型的计算机,他们的出现开始了软件产品的快速发展。最令人惊讶的是移动设备的进化,他们有着不同于普通的个人电脑的特点,方式和交互条件。
&&&&&&&&因此,智能手机需要的移动应用也是与笔记本不同的。
&&&&&&&&大多数个人电脑的操作系统是Windows。而流行的移动操作系统是Android,苹果iOS,黑莓OS,Windows手机,Symbian和其他。
& & & & & Top 5 Android测试工具
&&&&&&&&让我们探索现在比较流行的移动操作系统支持的自动化测试工具。
#1. Robotium 安卓测试工具
& & &&Robotium是一款经常使用的自动化测试工具软件,支持Android。
&&&&&&Robotium是一个免费的Android UI测试工具。它适用于为不同的安卓版本和子版本测试自动化。软件开发人员经常把它描述为Android Selenium。Robotium测试是用java写的。事实上,Robotium是一个单元测试库。
&&&&&&但通过Robotium创建测试需要花费很多时间和努力,因为为了自动化测试还需要修改程序源代码。该工具也不适合与系统软件的交互,它不能锁定和解锁智能手机或平板电脑。Robotium也没有录制回放功能,也不提供截图。
#2.MonkeyRunner 安卓应用测试
&&&&&&&Monkeyrunner是一款流行的Android测试工具,用于自动化功能测试。
&&&&&&&这个工具比Robotium更低一层次。这个不必处理源代码来做自动化测试。这个测试可以用Python写,并且可以使用录制工具来创建测试。
&&&&&&&Monkeyrunner可以连接到电脑或模拟真实设备运行测试。该工具有一个接口,用它来控制智能手机,平板电脑或外部模拟器的Android代码。
&&&&&&这个测试工具的缺点是,它必须为每个设备编写脚本。另一个问题是,每次测试程序的用户界面变化都需要调整测试脚本。
#3.Ronaorex 安卓测试应用工具
& & &&Ranrex 是一款不仅可以支持最新Android版本,也支持从Android2.2开始的早期版本和分支版本。
&&&&&&Ranorex的优势是它有详细的截屏报告。它能通过Wifi连接智能手机和平板电脑。
一个自动化测试工程师通过这个Android工具可以不用XML数据格式来详细编写数据驱动的测试。Ranorex工作室使自动化测试工程师只要点击鼠标就可容易地创建测试。它允许详细声明额外的程序模块,来用于在后期开发周期中测试更复杂的场景。
&&&&&&它是一个商业的移动应用工具,其许可价格为1990欧元。不过Ranorex搜索功能相当慢;它需要30秒来完成这样的操作。我们必须为Ranorex配备apk文件设备,否则无法通过这个工具实现自动化测试,因为它只能在APK文件设备上工作。
#4.Appium安卓自动化框架
&&&&&&这是一个可以为iOS和Android做自动化测试的框架。它是一个开源工具。它支持从2.3及以后的安卓版本。Appium利用WebDriver接口运行测试。它支持多种编程语言,如java,C #,Ruby和其他在WebDriver库中的语言。
&&&&&&它可以控制移动设备上的Safari和Chrome。这样测试移动网站可使用Appium和这些浏览器。
但一些自动化测试工程师抱怨说,它没有详细的报告。其弱点还有减少了在移动设备上XPath支持。
#5.UI Automator 安卓测试自动化
&&&&&&这款工具是谷歌最近发布的。它支持从4.1开始的安卓版本。这样就得再选择另一个安卓应用测试工具来做早期版本自动化测试。UI Automator能够与各种Android软件产品交互,包括系统中的应用。这使UI Automator可以锁定和解锁智能手机或平板电脑。
&&&&&&通过这个工具创建的脚本可以在许多不同的安卓平台上执行。它可以重现复杂的用户操作动作。
& & &&UI Automator也可以利用一个设备的外部按键,如回放键、音量调节键、开关键来控制。
它可以集成测试框架TestNG。在这种情况下,UI Automator可以生成丰富和详细的报告,类似于Ranorex生成报告。另外,这个工具搜索功能非常快。
&&&&&&软件测试专家发现UI Automator是一款适用于许多Android平台的移动应用测试。它是一款最适合安卓应用测试的工具之一,因为它是由谷歌专门为这个操作系统发布的。
&&&&&&通常约有80%的新软件bug能在所有支持的平台上重现。因此,一个可执行在广泛使用的平台上的移动测试工具是可以发现高达80%的缺陷。其余20%将会在其他平台上被发现。这意味着,在大多数情况下,在更少的测试平台上完整地做测试比在众多平台上匆忙测试更好。
&&&&&&目前,安卓操作系统设备上约66%使用的是安卓4.1。这就是为什么许多自动化测试工程师决定UI Automator是最合适的解决方案。
& & &&Ranorex经常用于早期的Android版本测试。
&&&&&&测试自动化是一个复杂的任务。它需要充分地准备和研究。需要紧跟信息技术的各种新奇应用和自动化测试工具。所有这些知识都是创建最有效的测试所必需的。
关于作者:这是Oleg Prosyanik的博文,他就职于一家为软件提供全方位测试服务的乌克兰著名公司,担任QA 测试实验室的高级自动化测试工程师。他已经做了4年多的自动化测试。Oleg创建了不同的笔记本和移动应用程序的自动化测试;他具有很好的编程技巧,掌握多种语言,如Java,PHP,Delphi,Ruby,C #。
【英文原文:/5-best-automation-tools-for-testing-android-applications/#more-3944】
{测试窝原创译文,译者:达茜}
译者简介:达茜,从事软件测试12年。 &现在上海就职于某人力资源管理解决方案公司,任职测试经理、高级测试工程师&
该内容对我有帮助
欢迎给测试窝投稿或参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
2533°|25337 人阅读|0
后发表评论
& 测试窝,促进软件测试领域知识的传播。
测试窝常年法律顾问:
| 执业证号:80720手把手教会你,安卓APP自动化测试入门,实现高薪不再是梦
手把手教会你,安卓APP自动化测试入门,实现高薪不再是梦
最近在学习如何使用 UiAutomator 来进行安卓 APP 的自动化测试,也把对应的实现步骤总结了一番,现在把这个东西分享出来。希望能够帮助到也正在学习 APP 自动化测试的小伙伴咯!今天就先介绍下环境的搭建,后面再继续更新一些更详细的内容。因为是自己总结的,所以可能会有不够详细的地方,欢迎各位指正和支持哈!一、环境准备,在开始之前,需要准备以下环境:1、集成 ADT 的 eclipse 开发工具。2、Java 的 jir 和 jdk 环境,3、Android-sdk 的环境,主要是要把 platforms 里的 Android 固件下载一个全的。具体如下:4、Android-sdk 的环境,检查 tools 下是否把 UiAutomator 下载好。5、新建一个安卓虚拟机,需记得虚拟机对应的 Android 固件版本。6、系统环境变量中,把对应的工具路径加到 Path 中,如:;%ANDROID_HOME%\%ANDROID_HOME%\platform-注:加上后,在命令指示符中输入 android 及 adb version 来检查环境变量是否配置正确,不返回“不是内部命令”就配置正确了。二、准备好环境后,我们先在 eclipse 中创建一个 UiAutomator 的测试用例工程,具体如下:1、创建一个 Java 工程2、点击下一步,对工程添加对应的jar类库,主要有 junit 类3、添加对应的的外部类库,这里是添加对应于虚拟机的安卓固件版本中的两个类库,具体如下添加完成后,需要使用的支持类库全览:4、工程建好之后,我们再给这个工程新建一个类,新建类的时候,主要要注意选择 “superclass“这个地方,需要搜索,并选择创建对应的 UI automator 测试用例工程。5、到这里,Ui Automator 测试用例工程就已经建好。小伙伴们可以按照上面的流程来试着搞搞,搞好后我们再继续深入学习。以下是样例代码,初学的小伙伴可以先了解了解,至于代码的讲解,以及如何通过这些代码来实现手机APP的自动化测试,我后面会再给各位小伙伴做详细的分享。package u_day01;import com.android.uiautomator.testrunner.UiAutomatorTestCimport com.android.uiautomator.core.UiDimport com.android.uiautomator.core.UiOimport com.android.uiautomator.core.UiObjectNotFoundEimport com.android.uiautomator.core.UiSimport android.os.RemoteEpublic class Learn_UiAuto_day01 extends UiAutomatorTestCase {//下面代码为抛出无法正常获取UI的异常命令 public void testcase() throws UiObjectNotFoundException,RemoteException {UiDevice device=getUiDevice();device.wakeUp();UiObject calcico1=new UiObject(new UiSelector().className(&android.widget.TextView&).instance(2));//此行为获取进入应用管理页面的元素的代码,并点击,class、instance、resourceId都可以一直往后加,越多定位越准确assertTrue(&the icon does not exist&,calcico1.exists());calcico1.click();UiObject icom=new UiObject(new UiSelector().index(3));//此行为进入了应用管理页面后,点击对应的应用图标(计算器)。并判断是否存在。assertTrue(&the icon does not exit&,icom.exists());System.out.println(&the icon has been found &);icom.click();sleep(5000);UiObject btn1=new UiObject(new UiSelector().className(&android.widget.Button&).resourceId(&com.android.calculator2:id/digit_1&));//检验并点击1、2、+、=按钮并点击,这里是结合了classname和resourceId名来进行获取assertTrue(&The '1'button is not found.&,btn1.exists());btn1.click();sleep(1000);UiObject btnplus=new UiObject(new UiSelector().className(&android.widget.Button&).resourceId(&com.android.calculator2:id/op_add&));assertTrue(&the '+'button is not found&,btnplus.exists());btnplus.click();sleep(1000);UiObject btn2=new UiObject(new UiSelector().className(&android.widget.Button&).resourceId(&com.android.calculator2:id/digit_5&));assertTrue(&The '5' button is not found&,btn2.exists());btn2.click();sleep(1000);UiObject btnequ=new UiObject(new UiSelector().resourceId(&com.android.calculator2:id/eq&));assertTrue(&the '='button is not found&,btnequ.exists());btnequ.click();sleep(1000);UiObject edtresult=new UiObject(new UiSelector().className(&android.widget.EditText&));System.out.println(&OutPut Result:\r\n&+edtresult.getText());assertTrue(&The results should be 6 !&,edtresult.getText().contains(&6&));//最后一行为将计算器的结果放置到参数中,然后再对比预期}第一次在百家号发这种教程类的东西,希望对小伙伴有一定的帮助作用哦~
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
百家号 最近更新:
简介: 生活总是丰富多彩的,让我们一同细细品味ul').hide()" onmouseenter="jQuery('.sitegroup>ul').show()">
绔嬪嵆鍏呭}

我要回帖

更多关于 app端自动化测试工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信