首先说一下我对Web自动化测试与CS自动化测试的认识。从宏观对比都是通过脚本自动化完成功能的验证,区别不大。Web测试更为显著的浏览器兼容性、安全,以及与Web技术相关的表单测试、链接测试等,其实都是功能上的区别带来的不同规格,从实现自动化来看,都是相通的。

对于UI自动化二者因为技术选择的原因,有些差别。CS程序开发技术选择多,界面识别需要特定的插件,BS遵循Html,相对比较规范。大部分能够进行CS自动化测试的框架(QTP、RFT)都能够进行Web自动化,反之未必。

性能测试是通过压力实现的。负载测试通过协议仿真,对服务器进行冲击。CS程序使用Socket连接,会有私有协议在内,不好模拟。BS是严格的Http协议,比较容易仿真。

目前Web大行其道,CS不可或缺,但也越来越小众了。对于一个要实现Web自动化的项目,如何选择工具(框架)是需要很多衡量的,下面从几个方面对比常见的Web自动化工具:Selenium、QTP(UFT)、RFT、watir、sahi。

几乎所有工具都能支持多中浏览器,从费用角度QTP和RFT都太贵了,反过来说用开源的实际也要投入研发费用,有利有弊。

学习成本主要是语言的壁垒,现在用Java和Python的还是多,资料也好找。

个人学习我推荐Selenium,已经是事实的Web自动化框架。

项目选择要看实际情况,如果要快、稳定,又不差钱,QTP和RFT都可以考虑,相比较更推荐QTP,原因:用的人多。

如果条件允许,那还是二次开发Selenium,目前做的方案TestNG+Selnium,通过Ant打包,使用Jenkins进行集成构建。这些组件都能进行扩展,自主权在自己手上,不会受软件厂家的牵制。

Web自动化工具对比的更多相关文章

  1. web自动化工具-开篇

    web自动化工具-开篇 最近几年,前端技术风一样的速度迭代更新,各种框架工具雨后春笋般涌现,作为一个平凡的开发者,也只能在洪流中沉沉浮浮,微不足道,以前前端叫做切图仔.美工,如今改了称号叫前端工程师, ...

  2. web自动化工具-liveStyle

    web自动化工具-liveStyle LiveStyle. The first bi-directional real-time edit tool for CSS, LESS and SCSS主要用 ...

  3. web自动化工具-livereload

    web自动化工具-livereload livereload是一个很神奇的工具,主要解放了F5键,监听文件变动,整个页面自动刷新.可搭载gulp等构建工具使用.和liveStyle 针对样式文件相比, ...

  4. web自动化工具-Browsersync

    web自动化工具-Browsersync browser-sync才是神器中的神器,和livereload一样支持监听所有文件.可是和livereload简单粗暴的F5刷新相比,browsersync ...

  5. 打印报表工具,web报表工具对比

    ​1.jasperreport报表 有批量报表打印功能,但一般需要通过专门的编程实现批量报表打印:一些较简单的分片式打印能通过主子表实现:不能自动适应纸张大小:不支持分栏打印:不支持一纸多页打印:不支 ...

  6. puppeteer(一)环境搭建——新Web自动化工具(同selenium)

    一.简介 https://github.com/GoogleChrome/puppeteer Puppeteer是一个Node库,它提供了一个高级API来控制DevTools协议上的 Chrome或C ...

  7. puppeteer(二)操作实例——新Web自动化工具更轻巧更简单

    一.入门实例 了解puppeteer见上一篇文章: https://www.cnblogs.com/baihuitestsoftware/p/9957343.html 1)本例主要是启动浏览器 con ...

  8. 自动化工具selenium

    selenium web 自动化工具 selenium 不仅仅可以做web自动化,还可以考虑用于爬虫 java.python..net都可使用,具体使用方法google 构建Python+Seleni ...

  9. 爬虫实战:爬虫之 web 自动化终极杀手 ( 上)

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:陈象 导语: 最近写了好几个简单的爬虫,踩了好几个深坑,在这里总结一下,给大家在编写爬虫时候能给点思路.本次爬虫内容有:静态页面的爬 ...

随机推荐

  1. ios 推断是qq,银行卡,手机号等等公用的方法。

    #import <Foundation/Foundation.h> typedef enum  {     IdentifierTypeKnown = 0,     IdentifierT ...

  2. UVA 11800 - Determine the Shape 几何

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  3. 汉字转换成对应ASCII

    private static byte[] hanziToHexByte(string hanzistring)        {            byte[] bytes = Encoding ...

  4. thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么

    thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么 一.总结 一句话总结:在thinkphp中,我们访问的始终是入口文件,并没有主动去访问任何一个其他文件,只不过在入口文件体内 ...

  5. 如何使用google地图的api(整理)

    如何使用google地图的api(整理) 一.总结 一句话总结:直接用script标签引google地图api即可. 1.如何使用google地图的api? 页面引用javascript文件<s ...

  6. 18.1 IIC驱动程序(基于3.4.2内核)

    驱动使用smbus提供的IIC读写函数可以参考smbus-protocol.txt文档:应用层直接使用IIC读写函数读写IIC设备,应用层读写函数是由i2c-tools这个库提供的(编译的使用和应用程 ...

  7. matplotlib学习之颜色样式

    一.颜色 1.内建八种默认颜色 蓝色 - 'b' 绿色 - 'g' 红色 - 'r' 青色 - 'c' 品红 - 'm' 黄色 - 'y' 黑色 - 'k' 白色 - 'w' 2.灰度 plt.plo ...

  8. strace跟踪线程调用

    方法一:strace -fp pid , 可以跟踪所有线程, 进程的系统调用. [root@xxxx]strace -p 24091 Process xxx attached - interrupt ...

  9. 【36.86%】【codeforces 558B】Amr and The Large Array

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  10. Android多线程研究(5)——线程之间共享数据

    一.如果是每个线程都执行相同的代码,则可以使用同一个Runnable来实现共享 public class MultiThreadShareData { public static void main( ...