几种常见自动化测试框架
因为自己项目组所使用的自动化测试框架完全是自己开发的一套工具,语言也是不常用的TCL(基于C/C++开发)。其也面临各种问题,因此想了解下广泛使用的测试框架,可能是自己没有接触过这些,暂时转点资料过来,慢慢再完善自己的理解。
以下各种不同的框架基本都支持数据及关键字驱动,或者本来就是这些重要的测试思想的推动者。在实际应用中,有人称为数据驱动和关键字驱动的结合,有说话直接将关键字驱动看作数据驱动的升级。在这方面个人感觉各有侧重点,数据驱动源于数据和业务的分离以及对业务的控制,而关键字驱动可以看作测试业务的模块化。
1、以QTP为核心的框架 (支持VB Script, 与C#, VB.NET结合比较好 )
QTP是大家最常用的测试工具。而现在很多公司用的自动化测试框架都是以此为核心的
以QTP为核心的自动化测试框架优点在于:适用性好,很多人都已经会用或者至少说可以简单应用,脚本也简单易懂,大多数无任何代码基础的测试人员都可以加入脚本录制和调试。
我本人一直对QTP不太感冒的原因也就是它的缺点:对象库。这个词对自动化测试的tester们实在是个巨大的打击。我不去一一细数其罪行,但是,关键字的框架,灵活度实在不敢恭维。再加上QTP在对flex等的支持上实在是也让人欲哭无泪。如果说还有其他的,就是一旦应用于企业自动化测试框架,必然需要购买正版,价格的问题。。。
2、RFT (支持JAVA,VB.net)
Rational Functional Tester,IBM的产品。我一直对ibm产品颇具好感,不知道是不是由于第一台笔记本就买了IBM的缘故。跑题了,回来说这个框架。
优点:其一是相比起QTP框架,灵活度要高。因为它最核心的find()。每个脚本里都会大量出现类似“new uiTestObject(find(atDescendant(".xxxx","xxxx",".xxxx","xxxx")))...”的语句,用来动态查找对象以解决对象识别问题。其二是对java的无缝连接,让很多人能更好更快的上手。
缺点:首先还是俗一点,说这个价格。高于QTP的价格让很多公司难以接受。第二,尽管ibm的团队非常强大,但是我们可以看到,由于种种原因,RFT的使用率比较低,这就导致网上关于该框架的疑难问题解决方案较少。第三,根据亲身经历,RFT的国内技术支持太弱,有问题很难请到,并且其技术支持人员测试技术能力都较差。
3、Ant+Selenium+Testng+Jenkins ( Ant脚本语言基于JAVA,selenium支持多种语言)
Selenium是一个软件测试工具,Selenium分成Selenium IDE, Selenium RC (Remote Control), 和Selenium Grid. 他们都是基于Selenium Core的. 这里给你说说Selenium IDE和RC吧. Selenium IDE是Firefox的一个插件, 它可以录制一系列的过程(比如google中输入一个单词, 点搜索按钮,...,). Selenium IDE可以把这个过程录制号, 并且转化成多种语言, 比如:Java, C#, Perl, PHP, Python,等等吧. 那么这时候我们就可以用这些语言对应的编译器(比如Java我们用ECLIPSE; C#用Visual Studio)把从Selenium IDE经过录制, 得到并转化好的程序代码在这些编译器里运行, 运行的时候, 程序会调用Selenium RC来实现对刚才这段录制过程的远程操作 (可以控制打开一个firefox或者IE的浏览器进行回放, 也就是测试的过程.也就是说Selenium可以用他所生成的各种语言来调用它(Selenium RC)进行测试.
我这里说的 selenium 没有区分RC还是webdriver,两者各有千秋又互相补充,兼而用之即可。还是先说优点:第一:它开源不要钱!很多时候这是最关键的一点..当你在研究或推行一套框架的时候,价格是不得不考虑的因素。第二:灵活性,比RFT更加灵活,因为更加入了xpath(当然大型项目的脚本里xpath..慎用,尽量取id或稳定的属性)。加上配合IDE进行定位等,效果比较好。第三:相比RFT,资料更全面,用该框架的也越来越多。据我了解,北京一些中型公司也在应用类似以selenium为核心的自动化测试框架。第四:就是开源性可以方便我们进行二次开发,例如提取对json和xml的处理来实现的数据驱动等。
缺点:第一:无论是RC还是Webdriver,对测试人员的编码水平有一定要求。同时ant,testng,hudson使用也都是小众,大多数人执行这个框架前需要有较长时间学习适应。第二:毕竟时间较短,不如QTP如此完善,但是我们可以期待其未来发展。也许3.0会带来一个巨大的变化。
4、Mcafe
这是百度内部使用的一套自动化测试框架,或者叫平台。外面当然也买不到,我有幸见识了一次,包含了虚拟机的集成分配直至自动化测试执行,非常之惊艳。优点一大把缺点就是买都买不到。。。也给了我们一个方向,自主开发的自动化测试框架也许才是最适合你的。
5,Robot Framework (支持Python,java)
Robot framework是诺西(NSN)开源的一套自动化测试工具,在通信设备自动化测试中很实用,它基于Python开发,主要模拟NMS网管配置数据到网元NODE,并读取配置看配置是否生效
Robot Framework是一种基于Python的可扩展关键字驱动自动化测试框架,具备良好的可扩展性,并且是一款开源软件,通常用于端到端的可接收测试和可接收测试驱动的开发。可以用于测试涉及到多种技术和接口的分布式的,异构的应用系统(如通信系统)。测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序。因为Robot Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,web service,编程接口等。
具备以下特性:
1.测试用例使用文本文件(TXT或者TSV文件)保存,使用制表符分隔数据。可以方便的使用任何文本编辑器,或者EXCEL编辑测试用例。也可以使用HTML格式创建用例。测试执行报告和日志是HTML格式,容易阅读。提供了命令行接口和XML格式的输出。可以与版本管理工具结合,进行持续集成。
2.可以利用“标签”功能对测试用例进行分类和有选择执行。
主体资料来源:http://www.51testing.com/html/03/n-822303.html
几种常见自动化测试框架相关推荐
- 7种前端自动化测试框架,到底谁是No.1
7种前端自动化测试框架,到底谁是No.1 互联网时代,我们对web前端进行测试,不应该只关注其功能是否实现,还有其它更多的测试内容,如样式是否符合预期.交互是否流畅.应用是否安全等各个方面. 前端自动 ...
- 四种常见NLP框架使用总结
作者:哈工大SCIR 狄东林 刘元兴 朱庆福 胡景雯 引言 随着人工智能的发展,越来越多深度学习框架如雨后春笋般涌现,例如PyTorch.TensorFlow.Keras.MXNet.Theano和P ...
- 7种前端自动化测试框架
1.基于录制回放技术的自动化测试框架 UI recoder,Selenium IDE 2.基于对文档对象模型 (DOM)对象进行解析的自动化测试框架 基于Selenium自编程序和自写的js测试程序 ...
- 常见的主流自动化测试框架,这5种能帮到你很多
今天我们要向大家介绍的是常见5种主流自动化测试框架,包括优缺点等内容,供大家参考学习. 1.ATF 自动化测试框架AutoTestFramework是B/S架构框架,可实现Selenium等多种自动化 ...
- 软件测试框架——自动化测试框架(专题)
软件测试框架 --自动化测试框架 专题关键字: 框架( formwork ).自动化.自动化测试框架.专题 内容简介 本专题讲解什么是测试框架,以及什么是自动化测试框架?在了解框架技术的前提下具体介绍 ...
- Web自动化测试(Selenium自动化测试框架)
一.Selenium的简介 1.是一种浏览器自动化测试框架 2.用于web应用程序的自动化测试 二.Selenium 1.0 的工作原理 (1)Selenium IDE: Selenium的IDE(集 ...
- Android自动化测试框架uiautomator2详解
1 uiautomator2 简介 uiautomator2 是 一种 Android 自动化测试框架,提供了点击.长按.输入文本.滑动.拖拽.截屏等方法,能够模拟用户的各种动作.用户可以通过控件的 ...
- 自动化测试框架——关键字驱动
目录 1.内容介绍 2.什么是关键字驱动 2.1.解决什么问题? 2.2.如何来做? 2.3.概念 3.如何设计关键字驱动 3.1.如何设计程序? 3.2.Cases编写 3.3.Web操作 3.4 ...
- 【测试开发】几种常见的自动化测试框架
几种常见的自动化测试框架 在软件测试领域,自动化测试框架有很多,这里主要介绍几种常用的自动化测试框架. 1.pytest pytest 是 Python 的一种单元测试框架,与 Python 自带的 ...
最新文章
- HTML的标签描述10
- RPi 3B Aduio 3.5mm output
- dubbox 编译 和 测试
- mockito_使用FizzBu​​zz和Mockito进行单元测试
- MVC的WebApi中开启Session会话支持
- 666的vue.mixin
- 记风雨兼程的2020年,2021年,我来了!
- 动软代码生成器注意事项-Sql注入
- linux将数字转为科学计数法,Linux下科学计数法(e)转化为数字的方法
- bat转换成exe文件:bat2exe
- 如何做好数据分析师的职业规划?
- Windows禁用签名启动
- Spark worker内存不足导致任务失败,报错Likely due to containers exceeding thresholds, or network issues
- 百度 LBS 开放平台,开发人员众測计划正式启动
- 获取必应每日壁纸(api)
- python Pygame库介绍和使用,基本游戏开发
- 常用 XSS Payload
- 2019计算机考研大纲考什么,2019计算机考研大纲有哪些变动
- 什么是python的内置函数_什么是python内置函数
- 「ImageMagick」- 在图片上添加文字(批量操作) @20210401
热门文章
- Visual Studio 2017 版本 15.5.5
- Xamarin XAML语言教程构建ControlTemplate控件模板
- 采集网站特殊文件Meta信息
- iOS10 UI教程视图的生命周期
- java 中的jframe_【后端开发】java中JFrame是什么
- python游戏服务器引擎_KBEngine游戏服务器引擎环境配置
- TypeError: 'range' object doesn't support item deletion《机器学习实战》改进的随机梯度上升算法
- SSVEP脑机接口及数据集处理
- Frontiers期刊向您邀稿啦!脑机接口领域
- 全球第三位艾滋病痊愈者出现,靠脐带血干细胞新疗法抵抗病毒,此前已患病9年...