2017年十大移动应用开发的测试工具

  • 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

自动化测试工具介绍

自动化测试工具基本上是移动应用(Android和iOS)程序开发测试的必备工具,正确开展自动测试可以减少测试过程所需的时间以及测试执行过程中人为错误的几率。市面上有很多可用的自动化测试工具,其中一些免费,另一些收费。其中一些自动化测试工具早已有之; 而另一些工具才刚进入市场。每一种自动化测试工具都是独一无二的,都具有自己独有的特性。因此选择适合的自动化测试工具并不容易,下面推荐十款优秀的自动化测试工具。

1、Appium(iOS / Android)

Appium官网:http://appium.io/

Appium是一个开源的、支持混合应用和原生应用的跨平台自动化测试工具,它支持Android 2.3以上版本。Appium像服务器一样运行在后台,就像Selenium服务器那样。
Appium支持多种编程语言,如Java,Ruby,C#和其他WebDriver库中的编程语言。Appium利用WebDriver接口进行测试。
Appium使用UIAutomator库实现自动化测试Android,而UIAutomator库是Google提供的Android SDK中的内容。在移动设备上,它可以控制Safari和Chrome。它可以与测试框架TestNG同步。在这种情况下,UIAutomator可以生成翔实、详细的报告,类似于Ranorex生成的报告。

Appium的优点

  • 由于在所有平台上使用了标准的自动化API,故开发者无需以任何方式修改或重新编译应用程序
  • 开发者可以使用任何与WebDriver兼容的语言(比如Java,Objective-C,JavaScript)来编写测试用例
  • 开发者可以使用任何测试框架
  • 易于在不同的平台上进行设置
  • 支持各种语言,如Ruby,Java,PHP,Node,Python
  • 在设备上不需要安装任何东西
  • 还可以使用Selenium Webdriver JSON连线协议
  • 不必在不同的平台上重新编译移动应用
  • 借助Java,它可以与其他工具集成

2、Robotium

Robotium官网:https://code.google.com/p/robotium/

Robotium是一个免费的Android UI测试工具,可以轻松地为Android应用程序编写强大的自动黑盒测试用例,且无需了解Android应用程序结构或实现类的相关信息。只需知道主类的名称和链接到它的路径。Robotium支持Android 1.6以上版本。Robotium中的测试使用Java编写。事实上,Robotium是一个单元测试库。
但是通过Robotium准备测试需要花费大量的精力和时间,因为必须使用程序源代码来自动化测试。该工具不太适合与系统软件交互,它无法锁定和解锁智能手机或平板电脑。Robotium中没有播放或记录功能,且不提供截图。

Robotium的优点

  • 对项目基本无需了解就可以创建强大的测试用例
  • 可以自动处理多个Android活动
  • 创建稳固的测试用例需要的时间非常少
  • 与Ant或Maven轻松同步,作为持续集成的一部分运行测试
  • 可以在预安装的应用程序上运行测试用例
  • 可以获得Robotium测试的代码覆盖

3、Selendroid

Selendroid官网:http://selendroid.io/

Selendroid是一个测试自动化框架,支持Android本地应用、混合应用、移动Web应用的UI自动化测试。它使用Selenium 2客户端API测试编写。

Selendroid的优点

  • 完全兼容JSON线协议
  • 需要对被测试应用进行更改才能自动化
  • 自动化本地应用或混合应用使用了相同的概念
  • 通过不同的定位器类型,可以找到UI元素
  • 可以同时与多个Android设备进行交互
  • Selendroid支持硬件设备的热插拔
  • 通过不同的定位器类型,可以找到UI元素
  • Selendroid自带了一个有用的工具,即Selenium Inspector。它允许您检查应用程序UI的当前状态。

4、MonkeyRunner

MonkeyRunner官网:http://developer.android.com/tools/help/monkeyrunner_concepts.html

MonkeyRunner工具提供了一套API,用于编写从Android代码之外控制Android设备或模拟器的程序。这个工具是在Robotium之后就性能而言的。测试用Python编写,用于创建可以使用录音工具的测试。
MonkeyRunner的不同之处在于,需要为每个设备编写脚本,并且每次当测试程序的用户界面改变时,测试都需要调整。

MonkeyRunner的优点

  • 可以控制多个设备
  • 为了自动化测试,开发者不必处理源代码
  • 可以用于功能的自动化测试
  • 也可用于回归测试
  • Jython允许MonkeyRunner API与Android应用程序交互

5、Calabash

Calabash官网:https://github.com/calabash/calabash-ios

Calabash由多个库组成,这些库支持对代码以可编程的方式进行测试,且支持本地应用和混合应用。

Calabash的优点

  • 提供了专门针对在触摸屏设备上运行的本地应用程序的API
  • 包含了支持本地应用和混合应用的对代码以可编程的方式进行测试的库
  • 支持Cucumber框架,这使得业务专家和非技术质量保证人员更容易理解

6、Frank

Frank官网:https://github.com/moredip/Frank

Frank是一个轻量级的基于UI的自动化测试工具,是一个使用Cucumber和JSON命令组合的工具。Frank可作为用于iOS版本的iOS应用程序的Selenium。

Frank的特征包括

  • 有清晰的、类似CSS选择器的语法,允许相当宽容的测试
  • 支持预定义的步骤,可以立即使用它们进行测试
  • 由Cucumber驱动
  • 包含symbiote一个活的内省工具
  • 支持与CI集成
  • 可以在模拟器和设备上运行测试
  • 记录测试运行的视频,以显示应用程序的行动

7、KIF

KIF官网:https://github.com/kif-framework/KIF

KIF是一个基于Objective-C的框架,仅用于iOS应用的自动化测试。KIF是一个直接与XCTests集成的自动化框架。只要不涉及到修改其测试规范时,就可以使用它。

KIF的特征

  • 有积极的社区和良好的支持
  • 与XCTests无缝集成,KIF配有“KIFtestCase”,可以用来代替“XCTTestCase”
  • KIF通过其辅助功能标签访问UI元素
  • 一切都在一种语言Objective-C中,因此,纯iOS开发人员可以轻松获取
  • 有令人印象深刻的命令行和CI
  • 对手势有相当合理的支持

8、MonkeyTalk

MonkeyTalk官网:https://github.com/sonarme/monkeytalk

一切都是从数据驱动的测试套件到简单的“烟雾测试”,MoneyTalk可自动实现iOS和Android应用程序的真实功能的交互式测试。

MonkeyTalk的特征

  • 脚本简单易懂
  • MonkeyTalk IDE可以记录/播放测试脚本
  • 不需任何强大的编程或脚本知识
  • 支持网络设备和仿真器
  • 对于Android和iPhone,可以使用相同的脚本
  • 支持循环概念
  • 可以使用此工具生成XML和HTML报告,它还会在发生故障时捕获截图
  • 为了持续集成,MonkeyTalk支持Jenkins和Hudson。它还支持JUnit报告

9、Testdroid

Testdroid官网:http://testdroid.com/

Testdroid是一个基于云计算的移动应用程序,可帮助开发人员节省应用程序开发费用,加快产品的上市时间,降低运营成本和不可预测的成本。Testdroid是测试应用程序针对各种真正的Android和iOS设备与不同的硬件平台,屏幕分辨率和操作系统版本的最快的方式。价格范围根据需求从499−499-4999/月不等。它是Android和iOS游戏的稳固的手机游戏测试平台之一。在启动应用程序之前,它可以远程手动访问超过300个运行Android的真实设备。

Testdroid的优点

  • 节省了应用程序的开发成本
  • 最小化实际设备和敏捷测试的风险
  • 降低运营成本和不可预测的成本
  • 提高应用程序评级和日常活动用户

10、SeeTest by ExperiTest

SeeTest见:https://experitest.com/

SeeTest是ExperiTest提供的先进的移动测试、性能测试和监控工具。SeeTest提供了基于云的移动测试,您可以远程在真实的移动设备中运行测试。SeeTest云提供各种设备,移动操作系统和网络速度的模拟。

SeeTest可以自动化您的移动测试,并与CI/CD解决方案结合得很好,且可以并行测试。SeeTest还提供了一个可以让测试人员远程执行移动测试的Appium Enterprise。

SeeTest允许通过SeeTest Network Virtualization和Loadrunner附加组件对应用进行性能测试。

如何选择最佳自动化工具

  • 确定需要自动化的测试
  • 研究和分析满足自动化需求的自动化产品
  • 根据您的需求和预算做取舍
  • 根据要求,选择最合适的一个或多个工具
  • 与其他利益相关者讨论所选择的自动化工具,解释选择并获得批准
  • 继续测试自动化

2017年十大移动应用开发的测试工具相关推荐

  1. 十大开源Web应用安全测试工具

    点击蓝字关注我们 Web应用安全测试可对Web应用程序执行功能测试,找到尽可能多的安全问题,大大降低黑客入侵几率. 在研究并推荐一些最佳的开源Web应用安全测试工具之前,让我们首先了解一下安全测试的定 ...

  2. 2017年十大重量级Bug赏金计划

    2015年,<The State of Security>公布了11项重量级Bug赏金框架.自那时以来,众多企业甚至包括部分政府机关也开始启动自己的安全漏洞赏金计划(简称VRP).而两年之 ...

  3. 年终盘点丨2017人工智能十大关键词,收购、政策、场景创新上榜

    本公众号已经改版,推出了线上线下课程,并且推出免费2个月广告服务业界优质产品. 2017年度人工智能十大关键词:①芯片:②智能音箱:③医疗影像:④安防:⑤语音交互:⑥融资/收购:⑦人才流动:⑧政策:⑨ ...

  4. 《Science》评选2017年十大科学突破,看看有哪些吧!

    来源:材料科学与工程 概要:美国<科学>杂志21日公布了其评选出的2017年十大科学突破,人类首次观测到双中子星并合事件被选为头号科学突破. 美国<科学>杂志21日公布了其评选 ...

  5. android最新版本 note8,2017年度十大旗舰盘点 安卓阵营成功逆袭

    2016年末的时候,我们曾经慨叹评选十大旗舰之难,同质化潮流的冲击,导致了各大品牌旗舰没有拉开明显的差距.到了2017年底,我们终于可以长吁一口气.得益于全面屏风暴,各大品牌对于全面屏概念有着不同的设 ...

  6. 十大移动web开发工具

    以下列出的这些是目前十大移动web开发工具,移动开发者可以(根据具体情况)用这些工具来创建apps,实现丰富的功能.欢迎提出宝贵意见. 1)mobl-lang Mobl是一款免费且开源的语言,可以加快 ...

  7. 文本分析软件_十大针对机器学习的文本注释工具与服务,你选哪个?

    房地产和键 [51CTO.com快译]目前,从搜索引擎与情感分析,到虚拟助手与聊天机器人,机器学习应用场景中的许多研究领域,都需要通过文本注释工具与服务来提供准确性.在AI研究与开发行业中,发现或创建 ...

  8. 【宇麦科技】十大基于风险的漏洞管理工具

    基于风险的漏洞管理工具为IT安全团队提供了一种持续的自动化能力,可以根据网络漏洞对特定组织构成的相对风险来识别.确定优先级和修复这些漏洞. 由于大型复杂互联计算环境中存在大量漏洞,企业难以及时部署所有 ...

  9. 十大基于风险的漏洞管理工具

    基于风险的漏洞管理工具为IT安全团队提供了一种持续的自动化能力,可以根据网络漏洞对特定组织构成的相对风险来识别.确定优先级和修复这些漏洞. 由于大型复杂互联计算环境中存在大量漏洞,企业难以及时部署所有 ...

  10. 《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一2.4 开发内部测试工具...

    2.4 开发内部测试工具 该内部测试工具的基本功能是由3 ~ 4位开发人员在6 ~ 9个月的时间内开发出来的,是用Java语言编写的.第一个版本开发之后,一个人专门负责对其进行维护和进一步的开发,显然 ...

最新文章

  1. Shell关于Wget命令的使用技巧
  2. (57)模拟线程切换
  3. make 调试和传参
  4. 又一起.NET程序挂死, 用 Windbg 抽丝剥茧式的真实案例分析
  5. 计算机网络硬件脆弱性,计算机网络的脆弱性有哪几点
  6. java基础——“”equals“”与 “”==“” 的区别
  7. python中init是什么_详细解读Python中的__init__()方法
  8. 支持向量机之思维导图
  9. 二进制模2除法(CRC校验)
  10. 【数字电路抢救】2 逻辑函数的代数化简 3逻辑表达式的化简
  11. springboot消费kafka Listener method could not be invoked with the incoming message
  12. 飞行汽车能顺利上天吗?
  13. 关于github上一个关于lytro的代码
  14. Qt的QMediaPlayer播放视频和音频
  15. MySQL数据库备份的命令
  16. >> 读书记录_2022
  17. 双 JK 触发器 74LS112 逻辑功能。真值表_数字电路学习笔记(七):经典组合逻辑器件(上)...
  18. Python 中 raise 和 raise/from 的区别
  19. 亚琛 计算机工程科学,亚琛工业大学专业设置
  20. 有哪些相见恨晚的APP学习软件?

热门文章

  1. 安装Keil uVision5 破解失败
  2. java研磨设计模式_研磨设计模式之单例模式(内部类)
  3. 【干货】前端开发VUE实例
  4. c语言中32位整数用谁标识,int占几个字节
  5. 【考研高数 自用】高数第一章基础阶段思维导图
  6. 北卡罗来纳大学遗传算法工具箱
  7. Aqua Data Studio 执行HiveSql的问题
  8. Mac上使用SecureCRT
  9. iometer使用教程linux,Iometer磁盘测试工具中文使用说明手册 二
  10. 新版PHP小说漫画听书视频四合一网站源码+带采集