背景

Web自动化测试越来越被重视, 因为现在Web已经是工程化的状态。 如何通过工具测试, 保证Web开发的质量,提升开发效率,是Web工具的诞生的来由。

Web测试分为以下几个方面:

1、 界面测试 测试界面是否正常,这是前端测试最基础的环节。

2、 功能测试 测试功能操作是否正常,由于涉及交互,这部分测试比界面测试会更复杂

3、 性能测试 页面性能越来越受到关注,并且性能需要在开发过程中持续关注,否则很容易随着业务迭代而下降。

4、 安全性测试 测试Web界面和WebServer的安全性, 这里有专业工具(Nessus WebInspect)。不是本文调研点。

5、 单元测试 这个测试在其它语言领域已经比较成熟, 在Web领域对一些只适应用一些通用性较强的库和框架。

6、 易用性测试 测试Web界面是否容易被用户使用。一般人为参与更加直接有效,不推荐工具。

7、 兼容性测试 测试多种浏览器访问的正常性。

部分分类来源于:

http://www.open-open.com/lib/view/open1436021333747.html

调研

下面结合测试功能点,汇总各种测试需求以及测试工具。

分类 工具 URL 描述
界面测试 PhantomCSS https://github.com/Huddle/PhantomCSS

Visual/CSS regression testing with PhantomJS

CSS regression testing. A CasperJS module for automating visual regression testing with PhantomJS 2 or SlimerJS and Resemble.js.

界面测试

page-monitor

https://github.com/fouber/page-monitor

capture webpage and diff the dom change with phantomjs

功能测试 phantomjs http://phantomjs.org/

PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

对于web测试、界面、网络捕获、页面自动化访问等等方面可以说是信手拈来。百度在此平台上做了不少实践。

功能测试 casperjs

http://casperjs.readthedocs.io/en/latest/

http://casperjs.org/

casperjs是对PhantomJS的封装,提供了更加易用的API, 增强了测试等方面的支持。
功能测试

SlimerJS

http://www.slimerjs.org/index.html SlimerJS is similar to PhantomJs, except that it runs on top of Gecko, the browser engine of Mozilla Firefox, instead of Webkit, and is not yet truly headless.
功能测试

TestCafe

https://testcafe.devexpress.com/

Functional Web Testing MADE EASY

性能测试 Phantomas https://github.com/macbre/phantomas PhantomJS-based web performance metrics collector and monitoring tool
单元测试

Karma和Jasmine

http://blog.fens.me/nodejs-karma-jasmine/

Nodejs领域: Jasmine做单元测试Karma自动化完成单元测试

https://jasmine.github.io/2.5/introduction

Sinon -- 打桩框架

Mocha -- 测试框架

Chai -- 测试框架

 单元测试  QUnit  http://qunitjs.com/  QUnit is a powerful, easy-to-use JavaScript unit testing framework. It's used by the jQuery, jQuery UI and jQuery Mobile projects and is capable of testing any generic JavaScript code, including itself!
兼容性测试 selenium www.seleniumhq.org

selenium可以自动化的获取多个浏览器下的截图,前端工程师来说还可以借助Node的webdriver (http://webdriver.io/)来轻松开发测试脚本。还可以用:http://nightwatchjs.org/

兼容性测试 dalekjs http://dalekjs.com/
Automated cross browser testing with JavaScript!
Exterminate all the bugs!

自动化测试管理工具(Test Runner): http://karma-runner.github.io/1.0/index.html (google angular出品)

Web自动化测试工具调研的更多相关文章

  1. Android自动化测试工具调研

    原文地址:Android自动化测试工具调研 - Stars-One的杂货小窝 Android测试按测试方式分类,可分为两种:一种是传统逻辑单元测试(Junit),另外一种则是UI交互页面测试. 这里详 ...

  2. 开源Web自动化测试工具Selenium IDE

    Selenium IDE(也有简写SIDE的)是一款开源的Web自动化测试工具,它实现了测试用例的录制与回放. Selenium IDE目前版本为 3.6 系列,支持跨浏览器运行,所以IDE的UI从原 ...

  3. selenium-java web自动化测试工具抓取百度搜索结果实例

    selenium-java web自动化测试工具抓取百度搜索结果实例 这种方式抓百度的搜索关键字结果非常容易抓长尾关键词,根据热门关键词去抓更多内容可以用抓google,百度的这种内容容易给屏蔽,用这 ...

  4. 推荐一款国产优秀的基于 AI 的 Web 自动化测试工具——kylinTOP 测试与监控平台

    对于于一般的传统的自动化测试工具,如:Selenium,robotFramework,QTP等.QTP可以通过操作录制生成自动化用例脚本.生成的脚本与Selenium.robotFramework类似 ...

  5. 软件WEB自动化测试工具之智能元素定位

    江湖一直有着这么一句名言“天下武功,唯快不破".那么在软件测试领域,自然而然我们会想到软件自动化测试.软件自动化测试的实现自然离不开软件自动化测试工具.软件自动化测试工具是软件自动化的载体, ...

  6. selenium-java web自动化测试工具

    本篇文章由来,这两天整理了下自己经常使用而且很熟练的项目,今天突然想起漏了一个,补上了,但想到还没对应的博客,那就写一个简单的 我经常使用且相对熟练的部分技术如下(不知道算不算各位大神眼中的辣鸡): ...

  7. Selenium(ThoughtWorks公司开发的web自动化测试工具)

    Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7.8.9).Mozilla Firefox.Mozill ...

  8. 前端自动化测试工具doh学习总结(一)

    前言 项目中需要用到前端自动化测试,自己被当作一个探针研究了下目前用的比较多的web自动化测试工具.一开始研究的是的selenium,但由于项目使用了大量的dijit控件,写起testCase来很费劲 ...

  9. 使用 Sahi 实现 Web 自动化测试

    Sahi 是 Tyto Software 旗下的一个基于业务的开源 Web 应用自动化测试工具.Sahi 运行为一个代理服务器,并通过注入 JavaScript 来访问 Web 页面中的元素.Sahi ...

随机推荐

  1. mysql数据库的安装与使用

    ubuntu下面的mysql安装 sudo apt-get install mysql-server 安装后,登陆 mysql -u root -p mysql -h 主机名 -u 用户名 -p -h ...

  2. Java日期处理

    日常工作中经常遇到关于日期的处理,下面把自个写好的Java代码段分享一下,也当做自个的一个备份,同时也欢迎交流,如若分享请注明出处,谢谢. 1.返回两个时间段之间的月份: /** * 返回任意两个月份 ...

  3. 通过TStringList保存csv文件,只要循环.Add表格里面的每行记录进去,保存即可

    dlgSave := TSaveDialog.Create(nil); dlgSave.filter := 'CSV文件|*.CSV'; dlgSave.DefaultExt := '*.CSV'; ...

  4. sublime text3点击ctrl+B无法运行Python程序?

    1.打开sublime text 3 ,选择 tools-->Build System-->New Build System.... 2.将下面代码块复制进新文件中,并命名为Python. ...

  5. YUM源设置

    1挂载光盘 先创建一个文件 /aaa 然后挂载mount /dev/cdrom /aaa 进入 /aaa   ls 查看是否挂载OK 2进入yum文件夹.将除Media以外的所有文件名改为XXXXXX ...

  6. About_Return

    返回值:return return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定. return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带 ...

  7. wordexpress

    登陆数据库:mysql -uroot -p 创建数据库:CREATE DATABASE wordpress; 创建数据库用户:CREATE USER wordpress@localhost IDENT ...

  8. ArcMap 10.3 AddIN找不到插件

    现象:VS 2012写的AddIn插件,编译通过,安装成功 ArcGIS 10.3的AddIN Manager中,可以看到该插件 可是在自定义中却找不到.检索不到该插件. 解决方法:.net Fram ...

  9. table中某一个tr边框样式设置

    <html> <head> <style type="text/css"> table{ width:500px; } table tr td{ ...

  10. Android组件安全

    今天在看有关Android组件安全的东西 1.Activity Android系统组件在指定Intent过滤器(intent-filter)后,默认是可以被外部程序(签名不同,用户ID不同)访问的,在 ...