2017年十大移动应用开发的测试工具_see test客户端-程序员宅基地

技术标签: robotium  自动化测试  Web测试与软件测试  appium  移动开发  测试工具  移动应用开发  

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 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附加组件对应用进行性能测试。

如何选择最佳自动化工具

  • 确定需要自动化的测试
  • 研究和分析满足自动化需求的自动化产品
  • 根据您的需求和预算做取舍
  • 根据要求,选择最合适的一个或多个工具
  • 与其他利益相关者讨论所选择的自动化工具,解释选择并获得批准
  • 继续测试自动化
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chszs/article/details/71940729

智能推荐

已解决(selenium操作火狐浏览器报错)TypeError: __init__() got an unexpected keyword argument ‘firefox_options‘-程序员宅基地

文章浏览阅读1.6w次,点赞8次,收藏18次。已解决(selenium操作火狐浏览器报错)TypeError: __init__() got an unexpected keyword argument ‘firefox_options‘_typeerror: __init__() got an unexpected keyword argument 'chrome_options

python方差_Python编程:方差、标准差、均方差、均方根值、均方误差、均方根误差...-程序员宅基地

文章浏览阅读315次。python实现代码# -*- coding: utf-8 -*-import mathdef get_average(records):"""平均值"""return sum(records) / len(records)def get_variance(records):"""方差 反映一个数据集的离散程度"""average = get_average(records)return sum(..._pycharm方差计算代码

jmeter接口测试实例(五)对cookies的自动管理,实现登录后修改用户信息_jmeter中post请求如何更改每次的用户名-程序员宅基地

文章浏览阅读902次。一、前提:cookie是保存在本地,用来记录用户信息,最典型的作用是判断用户是否已经登录。如果一个接口,需要用户登录后,才能进行操作,如下,修改用户信息那么这时候,就需要用到cookie去识别这个登录的用户,因为要修改的是这个登录的用户的信息。二、使用1、jmeter.properties 中 将CookieManager.save.cookies 设置为true。完成后重启jmet..._jmeter中post请求如何更改每次的用户名

python新建项目没有venv_pycharm配置venv虚拟环境-程序员宅基地

文章浏览阅读7.5k次,点赞2次,收藏2次。虚拟环境的好处:搭建独立的python运行环境,不与其他产生冲突虚拟环境有助于包的管理和防止版本冲突3.删除卸载方便虚拟环境的搭建:1.进入python的Scripts下,执行:pip3 install virtualenv2.选择建立虚拟环境的文件夹,我这边是直接在D盘software下面创建了一个virtualenv,如图:image.png3.创建虚拟环境:virtualenv --no-s..._pycharm没有venv怎么办

M1芯片的Mac在开发iOS项目时遇到的问题汇总(模拟器无法运行,Cocoapods错误等)_oc cocospods 安装依赖库之后不能使用模拟器了-程序员宅基地

文章浏览阅读2.3k次。--pod install时报错,且错误提示中有“ffi”字眼,提示错误:/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.3/lib/ffi/library.rb:275: [BUG] Bus Error at 0x00000001042fc000 ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]解决方案:juejin.cn/post/698064…--pod repo upd_oc cocospods 安装依赖库之后不能使用模拟器了

编辑器VSCode使用心得-程序员宅基地

文章浏览阅读540次。工欲善其事必先利其器,趁手的工具会使我们开发事半功倍。市面上的编辑器我用过许多,编辑器使用经历Notepad++,(开源)这个应该是最轻量级的吧,查看代码还好,编辑代码就算了官网地址:https://notepad-plus-plus.org/Brackets,(开源)这个也不错,github-star:30k了,上次发布版本是6月..._vscode nextick

随便推点

西部数码mysql怎么用织梦_[原创]织梦程序(DeDeCms)常见问题集锦-程序员宅基地

文章浏览阅读95次。前言:织梦程序是最知名的cms程序,使用广泛,但很多朋友对织梦还不太熟悉,通过工单分析得知,经常容易出现本文中的问题,本次统一整理出来,希望对新手朋友有帮助,本文写的非常详细,请仔细阅读,一、描述:“dedecms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错”如图:分析:用织梦程序制作的站点做迁移服务器后容易出现这个问题,原因是程序中设置的数据库连接信息有误连接不到数据库,解决方..._西部数码支不支持织梦的程序

免安装mysql启动3534错误处理_mysql 免安装版本启动时 3534出错_mysql-程序员宅基地

文章浏览阅读295次。上午在win7下安装MYSQL,只到“net start mysql”这一步报错:3534的错误:于是在百度中搜索关键字“mysql服务无法启动3534”。参考以下两个链接中的方法,解决了3534启动失败的问题:mysql服务无法启动3534错误。http://jingyan.baidu.com/article/219f4bf7e978fcde442d38a9.htmlhttp://blog.cs..._免安装mysql启动失败

评测了10款画流程图软件,这4款最好用!(完全免费)_好用的流程图软件免费-程序员宅基地

文章浏览阅读5.1w次,点赞58次,收藏295次。最近在做项目和复习的时候,用了不少流程图软件给我帮了大忙,所以今天就来分享分享你在网上搜索一下流程图软件,能找到很多很多:但这些软件多数并不是专门绘制流程图的软件,它可能是一些思维导图软件、或者说一些产品交互原型图软件,使用时或多或少有些麻烦。而且,普遍这些软件缺点也很多,比如:只有在线版:ProcessOn(https://www.processon.com)导出功能收费:迅捷流程图软件体积庞大:VISIO就没有一款简单易用、绿色免费的流程图软件吗?阿虚花了不少时间,挨着_好用的流程图软件免费

在CentOS6.9安装Azkaban3.50.0_centos6.9 azkaban-程序员宅基地

文章浏览阅读1.4k次。cd /data/install_pkgwget https://github.com/azkaban/azkaban/archive/3.50.0.tar.gztar -zxvf 3.50.0.tar.gzvi /data/install_pkg/azkaban-3.50.0/azkaban-common/src/main/java/azkaban/utils/EmailMessage..._centos6.9 azkaban

Java项目基于ssm+vue.js的学生宿舍维修服务平台附带文章和源代码设计说明文档ppt-程序员宅基地

文章浏览阅读586次,点赞23次,收藏30次。博主介绍:CSDN特邀作者、985计算机专业毕业、某互联网大厂高级全栈开发程序员、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序、前端、python等技术领域和毕业项目实战,以及程序定制化开发、全栈讲解、就业辅导、面试辅导、简历修改。精彩专栏 推荐订阅2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐。

ultralytics的YOLOv8改为自用版本_from ultralytics.utils.plotting import annotator, -程序员宅基地

文章浏览阅读944次。由于需要用pyqt给yolov8做一个界面,而ultralytics一层嵌一层,不是很好用,所以对它的这个源码进行精简,具体代码我放到了这里,ultralytics使用的版本是8.0.54。具体代码如下,需要根据自己的情况来修改data的配置文件以及权值文件,在代码的49和50行。_from ultralytics.utils.plotting import annotator, colors, save_one_box modul

推荐文章

热门文章

相关标签