14款好用开源的Web应用压力负载,性能测试工具推荐

  JMeter

  JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。

  Grinder

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

  关键特性:

  泛型测试方法

  灵活的测试脚本编写

  分布式框架

  成熟的HTTP支持

  Multi-Mechanize

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

  主要特性:

  支持各种 HTTP methods

  高级超链接和HTML表单支持

  支持 SSL

  自动处理 Cookies

  可设置HTTP头

  自动处理重定向

  支持代理

  支持 HTTP 认证

  下面是一些测试结果图表:

  Selenium

  Selenium (SeleniumHQ) 是 thoughtworks公司的一个集成测试的强大工具。

  一、Selenium 的版本

  Selenium 现在存在2个版本,一个叫 selenium-core, 一个叫selenium-rc 。

  selenium-core 是使用HTML的方式来编写测试脚本,你也可以使用 Selenium-IDE来录制脚本,但是目前Selenium-IDE只有 FireFox 版本。

  Selenium-RC 是 selenium-remote control 缩写,是使用具体的语言来编写测试类。

  selenium-rc 支持的语言非常多,这里我们着重关注java的方式。这里讲的也主要是 selenium-rc,因为个人还是喜欢这种方式.

  下图是Selenium IDE的运行界面截图:

  Mechanize

  当您希望与 Web 页面中找到的内容进行某种比较复杂的交互时,您需要使用 mechanize 库

  Zope-Testbrowser 可编程浏览器用于黑盒功能测试

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

  Capybara

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

  OpenSTA

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

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

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

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

  Pylot

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

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

  Splinter

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

  示例代码:

  browser = Browser('webdriver.chrome')

  browser = Browser('webdriver.firefox')

  browser = Browser('zope.testbrowser')

  browser.visit('http://cobrateam.info')

  browser.reload()

  browser.find_by_css('h1')

  browser.find_by_xpath('//h1')

  browser.find_by_tag('h1')

  browser.find_by_name('name')

  browser.find_by_id('firstheader')

  Windmill

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

  Alfajor

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

  Webrat

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

  webload

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

  更多关于Web应用压力负载,性能测试工具的文章请查看下面的相关链接

  您可能感兴趣的文章: