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

主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》编辑/记者,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
个人大数据技术博客:
如今自动化测试已经应用到每天的测试中。这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏。自动化测试工具选择很多。一些是开源的,一些非常贵。一些自动化工具是几年前出的,一些才在市场上出来。每款工具有一定的特点,都是独特的。在众多的可选择的自动化工具中,要选到项目合适的工具是比较困难的。问题是,几乎没有任何现有的工具完全适应项目的要求。
为了自动化测试有效和有益,它必须具有:1、研究测试和项目中的软件产品;2、明确哪些测试需自动化3、制定自动化测试和自动化测试工具的要求4、研究至少几个可用的和合适的自动化工具5、在研究的基础上选择最合适的一个或多个工具6、与其他项目方讨论所选择的自动化工具,解释选择的原因,并得到他们的批准7、推进自动化这些方法和步骤被多数质量保证专家认可。最近出现了许多不同类型的计算机,他们的出现开始了软件产品的快速发展。最令人惊讶的是移动设备的进化,他们有着不同于普通的个人电脑的特点,方式和交互条件。因此,智能手机需要的移动应用也是与笔记本不同的。大多数个人电脑的操作系统是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、华为MobileTest
提供Android APK兼容性自动化遍历测试,基于自动化真机测试,帮助开发者发现缺陷并定位问题。结论:测试自动化是一个复杂的任务。它需要充分地准备和研究。需要紧跟信息技术的各种新奇应用和自动化测试工具。所有这些知识都是创建最有效的测试所必需的。手机自动化测试工具有哪些
输入手机号码,报价结果将发送到您手机
装修顾问-馨馨
4年行业经验,24h可咨询
10秒闪电通过好友
报价短信已发送到您的手机
因材料品牌及工程量不同,具体报价以量房实测为准
稍候装修管家将回电您,免费提供装修咨询服务
您的装修预算约
*装修管家将回电您,免费提供装修咨询服务
*装修管家将回电您,免费提供装修咨询服务
*因材料品牌及工程量不同,具体报价以量房实测为准
装修顾问 -馨馨
(四年装修行业经验)
微信扫一扫
3.&您家小区名称 :&&
请选择您家的装修时间
手机自动化测试工具有哪些
提问者:樊鸣玉|
浏览次数:173|
时间: 13:33:11
我来帮他解答
还可以输入1500字
已有3条回答
回答数:48170
被采纳数:436
一、首先说说手机自动化测试的原理
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
被采纳数:12
你好,这样子你可以试试看下面的方法介绍
 基于优秀的图像对比库opencv的测试工具,测试脚本使用Python编写,非常强大。如果你的app没有源码,可以选择它;或者你想做系统测试(跨app的测试),也可以选择它。其它的还是用下面说的那些个吧。
  基于优秀的图像对比库opencv的测试工具,测试脚本使用Python编写,非常强大。如果你的app没有源码,可以选择它;或者你想做系统测试(跨app的测试),也可以选择它。其它的还是用下面说的那些个吧。
  我通过其核心包sikuli-script.jar实现了android的sikuli化,暂时不打算开源。其实原理挺简单的,认真看过sikuli源码的应该都能写出来。
回答数:1305
被采纳数:0
MonkeyTalk 是世界上最强大的移动应用测试工具。MonkeyTalk 自动为 iOS 和 Android 应用进行真实的,功能性交互测试。MonkeyTalk 提供简单的 &smoke tests&,复杂数据驱动的测试套件。望采纳。Android和iOS 测试五个最好的开源自动化工具
字体:[ ] 类型:转载 时间:
本文主要介绍Android和iOS 五个最好的开源自动化工具,这里整理了相关资料,希望能帮助测试软件的朋友,有需要的看下
&&&&& &自动化测试在产品测试上有着非常重要的作用。实现测试自动化有多种积极的方式,包括最大限度地减少测试执行时间;在关键的发布阶段,用更少的时间确保更大的覆盖范围;在产品开发阶段,可靠又重复性地运行以确保没有引进回归问题。最大限度地减少重复性回归测试循环时的人为错误和疏忽的风险。
  在市场上有很多可用的工具,开源的或要付费的。虽然付费和开源工具各有利弊,但是后者在自动化测试社区得到了广泛的应用。根据项目需求来选择合适的自动化工具是非常棘手的。
  下面介绍5个最佳的iOS和Android开源自动化工具。
  1.Calabash(适用于Android和iOS)
  Calabash是一个开源的验收测试框架,支持Android和iOS自动化。Calabash为Android和iOS自动化测试提供了一个单独的库。这是一个跨平台的框架,支持 Cucumber,Cucumber能让你用自然的英语语言表述app的行为,实现BDD(Behavior Driven Development,行为驱动开发)。
  Calabash提供了一个桥梁,允许Cucumber测试对iOS和Android运行和验证。Cucumber测试使用一列语句写入,这些语句会形成很多测试场景。Cucumber中的所有语句使用Ruby定义。
  在Calabash,Cucumber语句只能被定义一次,但可以在Cucumber脚本的不同场景中重复使用。
  实际测试是用Gherkin写的,依靠Ruby代码的支持,并在Cucumber框架的上下文中运行。
  优点:
  ◆大型社区支持。
  ◆简单,类似英语表述的测试语句。
  ◆支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。
  ◆大型且热心的社区。
  ◆跨平台开发支持(同样的代码在Android和iOS设备中都适用)。
  缺点:
  ◆测试步骤失败后,将跳过所有的后续步骤。这可能会导致错过更严重的产品问题。
  ◆需要时间来进行测试,因为它首先总是默认安装app。但是,这种设置可以通过在代码中配置一个钩子(hook)覆盖掉。
  ◆需要Calabash框架安装在ios的ipa文件中。
  ◆我们必须要有iOS的app代码。
  ◆除了Ruby,对其他语言不友好。
  2.Appium(Android和iOS)
  Appium是Sauce Labs出品的一个开源的自动化测试框架,用于原生、混合和移动的web app。框架内的Appium库函数调用Appium服务器是在操作连接设备的后台运行的。它在内部使用JSONWireProtocol,来与使用 Selenium的WebDriver的iOS和Android app进行互动。
  不像Calabash只支持Ruby开发,在框架中使用Appium时,你可以从Java、Python和Ruby,以及所有其他Selenium WebDriver支持的语言中选择。
  Appium服务器被托管在Node服务器上。你可以通过触发一组Node命令来启动Appium服务器。使用Appium Standalone Application作为服务器(从Appium网站下载),Inspector工具可对app的所有定位器提供查找/识别/操作的能力。
  优点:
  ◆支持多种语言。
  ◆不需要访问源代码。
  ◆跨平台脚本开发。
  ◆大型社区支持。
  ◆支持Mac上的脚本记录。
  ◆使用Appium Server应用程序的Inspector工具提取标识符。
  ◆通过Appium Server的桌面应用程序对Selendroid内置支持。
  ◆它还使用供应商提供的框架:适用于iOS的UIAutomation ,分别适用于Android 4.2+和 2.3+的UIAutomator和Selendroid。
  ◆支持物理设备与仿真器。
  ◆支持原生,混合和移动的web自动化应用程序。
  缺点:
  ◆Appium Server桌面应用程序的发布常常不稳定。
  ◆脚本记录不适用于Application服务器对于Windows OS的桌面应用程序。
  3.Robotium(Android)
  Robotium是一个开源的测试框架,用于开发功能性,系统,和验收测试场景。它与Selenium非常相似,除了Robotium只适用于Android。它注册在Apache License 2.0下。
  因为它不但简单,而且又具有创建强大又可靠的自动化场景的能力,因而它在自动化测试社区广泛流行。
  它采用运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。
  优点:
  ◆容易在最短的时间内编写测试脚本。
  ◆预装自动化app是可能的。
  ◆自动跟随当前activity。
  ◆由于运行时绑定到GUI组件,所以相比Appium,它的测试执行更快,更强大。
  ◆不访问代码或不知道app实现,也可以工作。
  ◆支持Activities、Dialogs、Toasts、Menus、Context Menus和其他Android SDK控件。
  缺点:
  ◆不能处理flash和web组件。
  ◆支持Java开发。
  ◆在旧设备上会变得很慢。
  ◆由于不支持iOS设备,当自动化测试同时覆盖 android与iOS的情况时,测试会被中断。
  ◆没有内置的记录和回放功能. 使用记录功能需要 TestDroid 和 Robotium Recorder 这样收费工具。
  4.Frank(iOS)
  Frank是一个iOS app的自动化框架,允许使用Cucumber编写结构化英语句子的测试场景。
  Frank要求测试时在应用程序内部编译,这意味着对源代码的改变是强制性的。这是一个使用Cucumber和JSON组合命令的工具,命令发送到在本地应用程序内部运行的服务器上,并利用UISpec运行命令。
  优点:
  ◆测试场景是在Cucumber的帮助下,用可理解的英语句子写的。
  ◆Symbiote——包含实时检查工具。
  ◆如果团队有关于web selenium和cucumber自动化框架的经验,也有效。
  ◆活跃的社区支持。
  ◆不断扩大中的库。
  缺点:
  ◆对手势的支持有限。
  ◆在设备上运行测试有点难。
  ◆修改配置文件需要在实际设备上运行。
  ◆记录功能不可用。
  5.UIAutomator(Android)
  UIAutomator是由谷歌提供的测试框架,它提供了原生Android app和游戏的高级UI测试。这是一个包含API的Java库,用来创建功能性UI测试,还有运行测试的执行引擎。该库自带Android SDK。有很多教程可供初学者上手。优点是它在运行访问不同的进程时,会给JUnit测试案例特权。虽然这对本地自动化app既好又更简单,但是它对 web自动化视图非常有限或几乎没有任何支持。它仅支持使用API level 16及以上的设备,不过这也不算什么很大的因素,因为现在大多数的app支持API level 19及以上。
  优点:
  ◆简单易学的教程。
  ◆库由谷歌社区支持和维护。
  ◆第三方支付集成了基于云计算的测试管理。
  缺点:
  ◆仅支持android 4.1及以上。
  ◆不支持脚本记录。
  ◆支持的重点是Java。
  ◆你不能获得当前活动或仪表化。
  ◆目前不支持web视图,因此是混合app。
  ◆库支持使用Java,因此如果有人想和使用Ruby的cucumber混合,会很困难。不过Java有它自己的BDD框架,虽然在实践中用到的也不多。
&&&&&&&& 以上就是对Android 和IOS 自动化测试的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具查看: 283|回复: 2
Appium Android 获取包名和 Activity 的几种方法
TA的每日心情奋斗 12:55签到天数: 29 天连续签到: 1 天[LV.4]测试营长
本文档主要记录“获取包名和 Activity 的方法”,用于自动化测试时启动APP。以下方法主要来源于网络和社区同学的贡献,特此感谢!
1. 方法一: pm list package查看包名
adb shell pm list package -f复制代码将获取手机内所有apk对应的包名和路径
adb shell pm list package -3 -f& &#获取第三方apk的包复制代码
2. 方法二:dumpsys window(本人最常用)
先打开需要查找的apk后,再敲入以上命令
adb shell dumpsys window w | findstr \/ | findstr name=

adb shell dumpsys window |findstr mCurrent

adb shell &dumpsys window w|grep \/|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed 's/ //g'&复制代码注:此处用sed 将部分字符串替换为空,格式为“sed 's/要被取代的字串/新的字串/g'”
3. 方法三:logcat日志抓取LAUNCHER
adb shell “ logcat | grep android.intent.category.LAUNCHER &

adb logcat ActivityManager:I *:s复制代码
4. 方法四:dumpsys activity
先启动需要的查找的apk,再敲入以上命令
adb shell dumpsys activity | grep mFocusedActivity复制代码
5. 方法五:logcat日志抓START
C:\Users\Administrator&adb shell
root@msm:/ # logcat | grep START复制代码先启动需要查找的apk,再敲入以上命令,找到最后一个ActivityManager
6. 方法六:aapt工具(推荐使用)
使用aapt工具 ,适合给程序自动获取 apk 的相关信息,非常实用,
//aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以微信为例,命令行中切换到aapt.exe目录执行输入以下命令
aapt dump badging D:\weixin658android1060.apk复制代码2.运行后的结果中以下两行分别是应用包名package和入口activity名称,另外可看到应用使用的权限、支持的语言等信息
7. 方法七:apktool反编译app后查看AndroidManifest.xml
1.使用apktool反编译app
java -jar D:\Tools\apktool_2.2.3.jar d D:\Tools\weixin658android1060.apk复制代码
2.打开AndroidManifest.xml文件
manifest节点的package属性值是应用的包名:
查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,android.intent.action.MAIN决定应用程序最先启动的Activity,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
8. 方法八:使用monkey 命令查看Activity
adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER -v -v 0|findstr Using复制代码
1. findstr 和 grep 查找字符串说明
findstr:windows平台查找字符串命令, 一般格式如下:
adb shell&&xxx&&| findstr xxx复制代码grep:linux平台查找字符串命令,一般先adb shell 进入shell命令行再使用,也可直接使用,把shell 后面带grep的命令加双引号即可:
adb shell&&&xxx&&| grep xxx&复制代码
原文链接:
本帖子中包含更多资源
才可以下载或查看,没有帐号?
TA的每日心情衰 14:52签到天数: 472 天连续签到: 1 天[LV.9]测试副司令
指的一看的分享,做自动化移动端的朋友可以收藏了。
TA的每日心情奋斗5&小时前签到天数: 885 天连续签到: 2 天[LV.10]测试总司令
站长推荐 /4
小伙伴们踊跃闯关,赢取测试积点,换取豪礼,还等什么,赶快行动吧~
了解自己的心里圈,学习不同的内容,让自己由内而外强大起来!
赏金公告:悬赏任务已,小伙伴们赶紧行动起来,赚取,去积点商城获取奖励吧!
学习大热的自动化测试工具Appium,get高薪技能!自动化测试系列资料,正在限时
Powered by什么是ADB呢?
依赖于ADB,手机和电脑之间用usb连接后,就可以电脑上通过应用宝或者豌豆荚等手机助手软件对手机进行操作。
&ADB 全称Android Debug Bridge,是安卓测试桥梁,它有三部分组成:
1、客户端&client:运行在你的电脑上,你可以通过shell来调用起一个客户端。其他Android工具,例如ADT插件、DDMS都可以创建出一个客户端
2、服务器&server:运行在你电脑的后台,负责管理client和daemon进行通信。
3、守护进程&daemon:运行在模拟器或者Android设备的后台。
但是它最终呈现给我们用的就是一个命令行的工具,通过它我们就可以和模拟器或者是Android设备进行通信。
如何配置ADB?
前提:安卓文件位置:D:\adt-bundle-windows-x86_64-\sdk\tools
& & & & adb文件路径:D:\adt-bundle-windows-x86_64-\sdk\platform-tools
1、右击计算机,属性-高级系统设置-环境变量。
2、在系统变量下点击新建按钮,输入环境变量名android(依据个人爱好),将android开发工具的路径导入,
&&&&&&&&&&&变量名:&&&Android
&&&&&&&&&&&变量值:D:\Android\android-sdk-windows\platform-D:\Android\android-sdk-windows\tools;
3、选择系统变量中Path,点击编辑按钮,输入刚刚建好的环境,方法和配置java一样,记住要加两个百分号,
&&&&&&&&&&&变量名:&&Path
&&&&&&&&&& 变量值:%Android%;
4、按住win+R快捷键,打开运行,输入cmd。进入后输入adb查看运行结果。
每次启动客户端的时候,首先会检查服务器是否已经在后台运行了,如果没有,他就会启动server进程;
如果server是开启的,server就会绑定在&TCP&的&5037&端口然后监听客户端发出来的命令;
所有的client都是通过&5037&端口和server进行通信的。
 当我们通过USB数据线来使用ADB的时候,通常需要将安卓设备上的&"设置"-"开发者选项"-"USB调试" 这个框勾上。&
ADB常用命令大全:
adb devices
查看当前连接设备
adb install &path_to_apk&
安装apk文件
adb -s &serialNumber& &command&
指定设备执行命令
adb pull &remote& &local&
将Android设备上的文件拉到本地(一般Android手机默认的存储路径是&/mnt/sdcard/&)
adb push &local& &remote&
把本地文件复制到Android设备上
adb start-server
启动adb的server
adb kill-server
关闭adb的server(有点时候adb在没有响应的时候,我们需要重启adb)
adb shell [shellCommand]
运行shell命令
Android是基于linux内核的,因此可以在Android的系统上运行shell命令,通过adb shell 可以进入手机的系统,然后执行一些linux的命令
追加一个无线连接ADB的方法,此方法需要手机和PC处于同一局域网,如果有必要的话,需要关闭防火墙,接下来是方法:
1、用usb连接;
2、依次开始执行以下命令:
3、执行完之后拔掉usb线。
阅读(...) 评论()

我要回帖

更多关于 软件自动化测试工具 的文章

 

随机推荐