背景

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. Nhibernate随手记(1)

    学习Nhibernate的萌芽 今早有群里有人问Nhibernate的问题,没学过,刚好来了兴趣,无意很快在园子里下载到了一本Nhibernate3.0的电子书,内容非常不错,很快地看了扫了一下,再记 ...

  2. 数位DP BZOJ 1026 [SCOI2009]windy数

    题目链接 前面全是0的情况特判 #include <bits/stdc++.h> int dp[10][10]; int digit[10]; int DFS(int pos, int v ...

  3. Leetcode Valid Number

    Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => ...

  4. requirejs:模块加载(require)及定义(define)时的路径小结

    原文地址:http://www.tuicool.com/articles/7JBnmy 接触过requirejs的童鞋可能都知道,无论是通过define来定义模块,还是通过require来加载模块,模 ...

  5. 02.JavaScript基础下

    运算符 算术:+ 加.- 减.* 乘./ 除.% 取模 实例:隔行变色.秒转时间 赋值:=.+=.-=.*=./=.%= 关系:<.>.<=.>=.==.===.!=(不等). ...

  6. 数据字典生成工具之旅(5):DocX组件读取与写入Word

    由于上周工作比较繁忙,所以这篇文章等了这么久才写(预告一下,下一个章节正式进入NVelocity篇,到时会讲解怎么使用NVelocity做一款简易的代码生成器,敬请期待!),好了正式进入本篇内容. 这 ...

  7. npm link 安装本地模块,将本地模块cli化

    第三方学习地址 http://mp.weixin.qq.com/s?__biz=MzAxMTU0NTc4Nw==&mid=2661157390&idx=1&sn=6d96e54 ...

  8. FP error code老是忘记的看这里:只给出最常用的几个。

    把常见的几个记牢,不要在比赛时纠结. 错误2:输入文件未找到. 错误106:数据读入的格式错误,往往是读入语句出错. 错误200:被零除. 错误201:范围检查错误,数组越界. 错误202:栈溢出. ...

  9. 最难面试的IT公司之ThoughtWorks代码挑战——FizzBuzzWhizz游戏(C#解法)

    原题 看到那么多人看到前面这么糟粕的代码各种不忍直视后,楼主还是把最终实现放在页首吧.             Console.WriteLine("说出三个不同的特殊数,用','隔开 &q ...

  10. Final-阶段站立会议6

    组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...