18种工具名称阅览:

Selenium、Watir、JMeter、Grinder、Multi-Mechanize、Mechanize、Zope.testbrowser、Capybara、OpenSTA、Pylot、Splinter、Windmill、Alfajor、Webrat、Webload、MaxQ、curl-loader、360EasyTester

————————————————————————

1. Selenium

Selenium 是ThroughtWorks 公司一个强大的开源Web 功能测试工具系列,本系列现在主要包括以下4 款:

1.Selenium Core :支持DHTML 的测试案例(效果类似数据驱动测试),它是Selenium IDE 和Selenium R C的引擎。

2.Selenium IDE :FireFox 的一个插件,支持脚本录制。

3.Selenium RC :Selenium Remote Control 。

4.Selenium Grid :允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web 应用的功能测试。

(1).Selenium IDE 支持并且只支持Firefox 浏览器,支持的浏览器太少,而依附于Firefox 也不便于日后开展自动化测试,但是,它的录制快捷好用!并且有代码 转换功能,可以把Selenium 语言测试案例转为C#,Java 等语言的测试案例,建议使用Selenium IDE + FireBug 进行测试案例的编写,然后转为其他语言的测试案例后,再调用Selenium RC运行测试案例。


(2).Selenium Core ,它的优点是编写测试案例简单,并且支持绝大多数的浏览器,但缺点也同样明显,Selenium Core需要远程安装,Selenese 语言也限制了复杂案例的可能性,并且没有良好的外部扩展,这是些都会是致命的问题。

(3).Selenium RC 支持很多浏览器,可以使用C# ,Java 等语言编写测试案例,易于维护,同时提供了很好的扩展性。


2. Watir

  Watir,Web ApplicationTestinginRuby. 它是Ruby语言下,一个自动化UI测试的框架。对于Watir的测试框架,它对于ActiveX插件,JavaApplets,Flash, 或者其他的插件应用程序基本不支持。如何确定您测试的页面是否Watir支持,只要您在页面中右击出现View Source 选项,那么Waitr就基本支持。Watir还带有AutoIt扩展对Javascript弹出或者其他的弹出窗口。

  在Watir中的对象包括Hyperlinks,Checkboxes,Buttons,Forms,Radio buttons,Selection boxes,Text fields,Frames,Images,Tables等等。我们可以使用ie.show_all_objects来显示页面中的所有元素,当我们无法确定页面对象是否被选中时可以使用flash方法,比如ie.text_field(:name,“test_text”).flash。以下的对象属性对于Watir的使用非常有用。比如name,id,index,value,URL(links),Alt,SRC(images)。

3. JMeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库,FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。

另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络 或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

4. Grinder

Grinder是一个负载测试框架,通过Jython来编写测试脚本,基于HTTP的测试可以由浏览器来记录整个要测试的过程。

关键特性:

泛型测试方法、灵活的测试脚本编写、分布式框架、成熟的HTTP支持

官网 :http://grinder.sourceforge.net/

5. Multi-Mechanize

Multi-Mechanize 是一个开源的Web性能和负载测试框架,可让你并发运行多个Python 脚本来对网站或者Web服务进行压力测试。

主要特性:

支持各种HTTP methods、高级超链接和HTML表单支持、支持SSL、自动处理Cookies、可设置HTTP头、自动处理重定向、支持代理、支持HTTP 认证。

6. Mechanize

Mechanize是一个能解决与Web 页面中找到的内容进行某种比较复杂的交互的库,应用于python语言,使用这个的话,等于需要使用python脚本语言写一个专门用途的小工具。由于python强大的跨平台性,应该可以支持任何浏览器。

7. Zope.testbrowser

Zope.testbrowser 提供了一个简单易用的可编程Web浏览器,主要用于测试,可在Zope 中使用。

Zope是一个开放源代码的Web应用服务器,官方网站位于:http://zope.orgZope目前有2个比较独立的版本,Zope 2系列和Zope 3系列。Zope 3是汲取了Zope 2的教训,对Zope 2的重写,是一个采用了现代设计模式的、基于组件架构的应用服务器。有人说Zope 3就是一个Python版本的轻量级J2EE框架。Zope 2特别适合脚本开发人员,直接通过浏览器就可快速构建一个应用。

8. Capybara

Capybara 旨在简化测试Rack 应用(Rails、Sinatra、Merb等应用)的集成过程。Capybara 可模拟一个真实的用户跟Web应用进行交互。

9. OpenSTA

OpenSTA是一个免费的、开放源代码的web性能测试工具,能录制功能非常强大的脚本过程,执行性能测试。例如虚拟多个不同的用户同时登陆被测试网站。

OpenSTA 是专用于B/S结构的、免费的性能测试工具。它的优点除了免费、源代码开放的优点外,还能对录制的测试脚本进行,按指定的语法进行编辑。在录制完测试脚本后,可以对测试脚本进行编辑,以便进行特定的性能指标分析。其较为丰富的图形化测试结果大大提高了测试报告的可阅读性。

OpenSTA 基于CORBA 的结构体系,它通过虚拟一个proxy,使用其专用的脚本控制语言,记录通过proxy 的一切HTTP/S traffic。通过分析OpenSTA 的性能指标收集器收集的各项性能指标,以及HTTP 数据,对系统的性能进行分析。

优点:压力测试引擎具有可扩充性,可以完成打规模的压力测试。提供脚本语言支持。

10. Pylot

Pylot 是一款开源的用以测试Web Service性能和扩展性的工具,它运行HTTP负载测试,这对于制定容量计划、确定基准点、分析系统瓶颈以及系统调优都非常有用。在使用过程 中,Pylot会发起并发请求(HTTP Requests),检验服务器响应,以及带有相关指标的报表。它通过GUI或者Shell/Console来执行和监视对被测试网站的测试过程。

Pylot基于Python开发,和著名的Apache压力测试工具ab一样,默认在命令行运行,也可以通过参数触发GUI界面,当然前提是安装了wxPython的。

11. Splinter

Splinter 是一个用Python 编写的Web 应用程序进行验收测试的工具。

12. Windmill

Windmill 是一个Web测试工具,让你进行自动化的测试和调试web应用。

13. Alfajor

Alfajor 提供了先进的、面向对象的跟浏览器无关的HTTP 资源测试框架,Python 脚本和测试代码可实时的同步同步浏览的X/HTML DOM,当页面上因为JavaScript 更改DOM 时也会及时反映到该框架。同时提供了客户端API支持 对JSON 和Web API 的测试。

14. Webrat

Webrat 可帮我们编写可表达以及稳健的验收测试脚本,主要用于Ruby 应用,支持多种Ruby 的Web 框架,例如Rails, Merb 和Sinatra。Webrat 同时还支持一些常用的测试框架,例如:RSpec, Cucumber, Test::Unit and Shoulda。

15. Webload

Webload是RadView公司推出的一个性能测试和分析工具,它让Web应用程序开发者自动执行压力测试;Webload通过模拟真实用户的操作,生成压力负载来测试Web的性能。

用户创建的是基于Java script的测试脚本,称为议程Agenda,用它来模拟客户的行为,通过执行该脚本来衡量Web应用程序在真实环境下的性能。

Webload提供巡航控制器cruise control的功能,利用巡航控制器,可以预定义web应用程序应该满足的性能指标,然后测试系统是否满足这些需求指标;cruise control能够自动把负载加到web应用程序,并将在此负荷下能够访问程序的客户数量生成报告webload能够在测试会话执行期间对监测的系统性能生成实时的报告,这些测试结果通过一个易读的图形界面显示出来,并可以导出到excel和其他文件里。

官网 :http://www.radview.com/

16.MaxQ

 简介:MaxQ是一个开源的Web功能测试工具。它包含一个记录Jython测试脚本的HTTP代理,一个用于回放测试的命令行实用程序。代理

记录器自动存储提交到表单的变量。通过Jython脚本记录你点击的links的输入,然后允许你在任何时候回放。

MaxQ的特点:

  1. 免费、开源。
  2. 用Jython作为记录测试脚本的语言。
  3. 基于Java构建,在任何地方都可以运行。
  4. 代码简单,容易按需增强其功能。
  5. 测试脚本可以为JUnit运行。
  6. 可以运行于代理服务器之后。
  7. 支持cookies。
   
MaxQ的工作原理: 



录制测试:

  1. 配置web浏览器的HTTP代理为 localhost:8090
  2. 启动MaxQ, 双击 bin\maxq.bat
  3. 新建一个测试代码,通过File -> New -> Standard Script.
  4. 打开Web浏览器,到达你想要测试的地方作为入口
  5. 启动正式录制,通过 Test -> Start Recording
  6. 开始对Web 页面进行测试。
  7. 测试动作完成后,停止测试, 通过 Test -> Stop Recording。 保存测试脚本为"***.py" 的格式。

重新运新测试:

  通过 GUI:
  1. 启动 MaxQ
  2. 选择和打开已存在的测试代码 File -> Open
  3. 运行测试代码 Test -> Run, 一个新的包含测试输出的对话框将会自动打开。

  通过 命令行:
  maxq -r mytest.py

  运行于不同的服务器:
  maxq -u localhost:8000 www.xxx.com -r mytest.py

17. curl-loader

    curl-loader 是一个用C语言编写的Web应用测试和模拟负载工具,可模拟成千上万的客户端请求,并且每个请求来自不同的IP地址,支持用户认证、登录等Web交换过程。
    curl-loader (also known as "omes-nik" and "davilka") is an open-source tool written in C-language, simulating application load and application behavior of thousands and tens of thousand HTTP/HTTPS and FTP/FTPS clients, each with its own source IP-address. In contrast to other tools curl-loader is using real C-written client protocol stacks, namely, HTTP and FTP stacks of libcurl and TLS/SSL of openssl, and simulates user behavior with support for login and authentication flavors.

项目主页:http://curl-loader.sourceforge.net/

安装:
    #tar zxvf crul-loader.tar.gz
  #cd curl-loader
  #make

用法:
    #./curl-loader -f \[other options]

截图:


18. 360EasyTester

自动化测试工具360EasyTester是一款优秀的Web功能轻量级自动化测试工具,使用的是Ruby脚本,与Watir无缝集成;支持脚本录制、回放、对象查找、对象管理器、对象库、测试套管理、测试报表生成等功能;用户可以直接使用360EasyTester进行Web自动化测试。

下图为软件截图:


下图是软件中自含的中文使用教程截图:

——————————————————————————————

转载自各处~\(≧▽≦)/~啦啦啦,只有5%是原创╮(╯▽╰)╭。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐