RFuzz 是一个新的Ruby HTTP客户端,它的主要目的是帮助你通过HTTP来测试你应用的性能,RFuzz的功能包括:
- RFuzz基于Mongrel核心设计,在拥有高性能的同时保持轻量级
- RandomGenerator可以快速生成大量垃圾数据来测试你的应用性能
- RFuzz内置了一个DSL(Domain Specific Language),可以让你轻松针对某个Server定义测试会话并获取测试数据
- 支持RSpec
- 简单的Rant脚本可以生成并运行所有测试例(开发中)
- 集成R 及 Ruby Reports ,可以更简单的生成测试报表(规划中)
安装
$ sudo gem install rfuzz
不过如果你使用的是windows平台,由于RFuzz需要使用编译器来编译本地扩展,因此,如果你没有C/C++编译器的话,建议你选择针对win32平台的预编译版本。
使用
还没有对它的测试功能进行探索,让我们先简单的看一下它的网页抓取功能:
require 'rubygems'
require 'hpricot'
require 'rfuzz/client'
client = RFuzz::HttpClient.new(’localhost’, 3000)
body = client.get(’/index.html’).http_body
如果再配合上hpricot,还可以对获取的HTML进行正确性检查:
doc = Hpricot(body)
links = doc.search('//a')
urls = links.map { |l| l.attributes[’href’] }
关于RFuzz的更多使用范例,请访问:http://rfuzz.rubyforge.org/sample.html
另外hpricot的安装也需要编译本地扩展,如果是windows平台,建议安装针对win32平台的预编译版本:
gem install hpricot
