Selenium 框架是 Web 测试自动化团队测试响应式网页设计或独立网站的最佳选择。 它包括 Selenium IDE,Selenium Remote Control 和 Selenium Grid 等工具,用以测试 Web 应用程序。 Selenium IDE 是 Selenium 脚本的集成开发环。
完全兼容JSON线协议
需要对被测试应用进行更改才能自动化
自动化本地应用或混合应用使用了相同的概念
通过不同的定位器类型,可以找到UI元素
可以同时与多个Android设备进行交互
Selendroid支持硬件设备的热插拔
通过不同的定位器类型,可以找到UI元素
Selendroid自带了一个有用的工具,即Selenium Inspector。它允许您检查应用程序UI的当前状态。
Python爬虫利器五之Selenium的用法
Selendroid官网:http://selendroid.io/
GitHub链接:https://github.com/SeleniumHQ/selenium
Appium是一个开源的、支持混合应用和原生应用的跨平台自动化测试工具,它支持android 2.3以上版本。Appium像服务器一样运行在后台,就像Selenium服务器那样。
Appium支持多种编程语言,如Java,Ruby,C#,Python和其他WebDriver库中的编程语言。Appium利用WebDriver接口进行测试。
Appium使用UIAutomator库实现自动化测试Android,而UIAutomator库是Google提供的Android SDK中的内容。在移动设备上,它可以控制Safari和Chrome。它可以与测试框架TestNG同步。在这种情况下,UIAutomator可以生成翔实、详细的报告,类似于Ranorex生成的报告。使用Selenium作为后端,测试人员可以利用Selenium的功能进行移动应用程序的测试。
由于在所有平台上使用了标准的自动化API,故开发者无需以任何方式修改或重新编译应用程序
开发者可以使用任何与WebDriver兼容的语言(比如Java,Objective-C,JavaScript)来编写测试用例
开发者可以使用任何测试框架
易于在不同的平台上进行设置
支持各种语言,如Ruby,Java,PHP,Node,Python
在设备上不需要安装任何东西
还可以使用Selenium Webdriver JSON连线协议
不必在不同的平台上重新编译移动应用
借助Java,它可以与其他工具集成
Appium官网:http://appium.io/
GitHub链接:https://github.com/appium/appium
Robotium是一个免费的Android UI测试工具,可以轻松地为Android应用程序编写强大的自动黑盒测试用例,且无需了解Android应用程序结构或实现类的相关信息。只需知道主类的名称和链接到它的路径。Robotium支持Android 1.6以上版本。Robotium中的测试使用Java编写。事实上,Robotium是一个单元测试库。
但是通过Robotium准备测试需要花费大量的精力和时间,因为必须使用程序源代码来自动化测试。该工具不太适合与系统软件交互,它无法锁定和解锁智能手机或平板电脑。Robotium中没有播放或记录功能,且不提供截图。
对项目基本无需了解就可以创建强大的测试用例
可以自动处理多个Android活动
创建稳固的测试用例需要的时间非常少
与Ant或Maven轻松同步,作为持续集成的一部分运行测试
可以在预安装的应用程序上运行测试用例
可以获得Robotium测试的代码覆盖
android基础知识12:android自动化测试04—Robotium:实例(上):http://daimajishu.iteye.com/blog/1556631
rbotium 方法学习实例:http://blog.csdn.NET/gzh0222/article/details/7335666
Android自动化测试—Robotium:实例(上):http://sns.testin.cn/thread-1539-1-1.html
Robotium官网:https://code.google.com/p/robotium/
GitHub链接:https://github.com/RobotiumTech/robotium
KIF是一个基于Objective-C的框架,仅用于iOS应用的自动化测试。KIF是一个直接与XCTests集成的自动化框架。只要不涉及到修改其测试规范时,就可以使用它。
有积极的社区和良好的支持
与XCTests无缝集成,KIF配有“KIFtestCase”,可以用来代替“XCTTestCase”
KIF通过其辅助功能标签访问UI元素
一切都在一种语言Objective-C中,因此,纯iOS开发人员可以轻松获取
有令人印象深刻的命令行和CI
对手势有相当合理的支持
iOS 中使用 KIF 测试 UI
KIF官网:https://github.com/kif-framework/KIF
GitHub链接:https://github.com/kif-framework/KIF
MonkeyRunner工具提供了一套API,用于编写从Android代码之外控制Android设备或模拟器的程序。这个工具是在Robotium之后就性能而言的。测试用Python编写,用于创建可以使用录音工具的测试。
MonkeyRunner的不同之处在于,需要为每个设备编写脚本,并且每次当测试程序的用户界面改变时,测试都需要调整。
可以控制多个设备
为了自动化测试,开发者不必处理源代码
可以用于功能的自动化测试
也可用于回归测试
Jython允许MonkeyRunner API与Android应用程序交互
MonkeyRunner官网:http://developer.android.com/tools/help/monkeyrunner_concepts.html
Frank是一个轻量级的基于UI的自动化测试工具,是一个使用Cucumber和JSON命令组合的工具。Frank可作为用于ios版本的iOS应用程序的Selenium。
有清晰的、类似CSS选择器的语法,允许相当宽容的测试
支持预定义的步骤,可以立即使用它们进行测试
由Cucumber驱动
包含symbiote一个活的内省工具
支持与CI集成
可以在模拟器和设备上运行测试
记录测试运行的视频,以显示应用程序的行动
Frank官网:https://github.com/moredip/Frank
GitHub链接:https://github.com/moredip/Frank
TestWriter是一款零编码的UI自动化测试工具。通过统一图形化界面轻松创建测试计划,并且驱动执行引擎完成自动化测试任务。通过使用TestWriter,有效降低了测试人员能力要求及脚本维护工作量,操作简单,让其更专注于业务。TestWriter有商用版和免费版两个版本。现免费版本主推个人。
一切都是从数据驱动的测试套件到简单的“烟雾测试”,MoneyTalk可自动实现iOS和Android应用程序的真实功能的交互式测试。
脚本简单易懂
MonkeyTalk IDE可以记录/播放测试脚本
不需任何强大的编程或脚本知识
支持网络设备和仿真器
对于Android和iPhone,可以使用相同的脚本
支持循环概念
可以使用此工具生成XML和HTML报告,它还会在发生故障时捕获截图
为了持续集成,MonkeyTalk支持Jenkins和Hudson。它还支持JUnit报告
MonkeyTalk官网:https://github.com/sonarme/monkeytalk
用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java对象、 数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。
GitHub链接:https://github.com/apache/jmeter
QTP非常受测试者的欢迎,因为它不要求你使用面向对象的编程语言。QTP使用Visual Basic脚本(VB)语言,容易学习和编写代码。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等。
Watir 是一个非常灵活的工具,简化编写和维护测试用例。 Watir 基于 Ruby 开发,允许您连接到数据库,读取数据文件和电子表格,导出 XML,并将代码结构化为可重用的库。
GitHub代码链接:https://github.com/watir/watir
WAPT 是一种负载和压力测试工具,可让您轻松分析网站的性能。 它可以是移动应用程序,Web 服务或定制的 ERP 系统。 所有尺寸和技术的 Web 解决方案都可以使用 WAPT 进行测试。
GitHub代码链接:https://github.com/tranquilit/WAPT
Apache JMeter 是一个开源的负载测试工具,用 Java 6+ 编写,并支持所有平台。 它分析服务器,服务器和网络地点组上的不同负载下的总体性能。
GitHub代码链接:https://github.com/apache/jmeter
Testdroid是一个基于云计算的移动应用程序,可帮助开发人员节省应用程序开发费用,加快产品的上市时间,降低运营成本和不可预测的成本。Testdroid是测试应用程序针对各种真正的Android和iOS设备与不同的硬件平台,屏幕分辨率和操作系统版本的最快的方式。价格范围根据需求从499−4999/月不等。它是Android和iOS游戏的稳固的手机游戏测试平台之一。在启动应用程序之前,它可以远程手动访问超过300个运行Android的真实设备。
节省了应用程序的开发成本
最小化实际设备和敏捷测试的风险
降低运营成本和不可预测的成本
提高应用程序评级和日常活动用户
Testdroid官网:http://testdroid.com/
SeeTest是ExperiTest提供的先进的移动测试、性能测试和监控工具。SeeTest提供了基于云的移动测试,您可以远程在真实的移动设备中运行测试。SeeTest云提供各种设备,移动操作系统和网络速度的模拟。
SeeTest可以自动化您的移动测试,并与CI/CD解决方案结合得很好,且可以并行测试。SeeTest还提供了一个可以让测试人员远程执行移动测试的Appium Enterprise。
SeeTest允许通过SeeTest Network Virtualization和Loadrunner附加组件对应用进行性能测试。
SeeTest见:https://experitest.com/
Grinder 是一个 JavaTM 负载测试框架,可以很容易地使用许多负载注入机来运行分布式测试。 它可以根据 BSD 样式的开源许可证免费使用。
Pylot 是一个免费和易于使用的工具,用于负载测试 Web 应用程序。 尽管分布的规模很小,但它具有丰富的功能,可以通过开源代码扩展。
GitHub代码链接:https://github.com/Ketul-Patel/Pylot
Qtest 易于使用,可集成到整个应用程序开发和质量控制周期。 识别和分析操作异常以允许立即校正。 消除任何瓶颈。 Qtest 允许测试一系列项目类型,包括基于 J2EE,Net,SAP,Siebel,Web Services 的项目类型。