Release Name: 0.7.2
Notes:
= Stella - 0.7 PREVIEW
<b>Blame Stella for breaking your web applications.</b>
== Features
* Realistic load simulation
* Sophisticated response handling (with automatic HTML document parsing)
* Dynamic variable replacement
== PREVIEW NOTICE
This is an early preview of Stella. The following features are still under development (as of 2009-09-15):
* Reporting of any kind.
* File uploads.
* Documentation.
== Usage Example
# Verify a test plan is defined correctly
# by running a single user functional test.
$ stella verify -p examples/basic/plan.rb http://stellaaahhhh.com/
# Generate load using the same test plan.
$ stella generate -p examples/basic/plan.rb -c 50 http://stellaaahhhh.com/
== Test Plan Example
Test plans are defined in the Ruby programming language. This makes it possible to define sophisticated logic to handle responses. They also typically contain more than one usecase which is important when simulating realistic load. In this example, 65% of virtual users will execute the first usecase and 35% will execute the second.
usecase 65, "Simple search" do
get "/", "Homepage" do
wait 1..5
response 200 do
status # => 200
headers['Content-Type'] # => ['text/html']
body # => <html>...
doc # => Nokigiri::HTML::Document
end
end
get "/search", "Search Results" do
wait 2..5
param :what => 'Sarsaparilla'
param :where => 'Lexington'
response 200 do
listing = doc.css('div.listing').first
set :lid, listing['id'].match(/(\d+)/)[0]
end
end
get "/listing/:lid" do # URIs can contain variables.
desc "Selected listing" # This one will be replaced by
wait 1..8 # the one stored in the previous
end # request.
end
usecase 35, "YAML API" do
resource :listing_ids, list('ids.csv')
get "/listing/:lid.yaml" do
desc "Select listing"
param :lid => random(:listing_ids)
response 200 do
repeat 5
end
end
end
See examples/ for more.
== Installation
Get it in one of the following ways:
$ gem install stella
$ git clone git://github.com/solutious/stella.git
$ gem install solutious-stella --source http://gems.github.com
== More Information
* Homepage[http://solutious.com/projects/stella]
* Codes[http://github.com/solutious/stella]
* RDocs[http://solutious.com/stella]
* Stellaaahhhh[http://www.youtube.com/watch?v=jHHprvyl-Hc]
== Credits
* Delano Mandelbaum (http://solutious.com)
== Thanks
* Harm Aarts for the great test case and feedback!
* Kalin Harvey for keeping me on track.
* Dave L, the best intern money can't buy.
== License
See LICENSE.txt
Changes:
STELLA, CHANGES
#### 0.7.2 (2009-10-29) ###############################
* FIXED: bin/stella exits with 1 if any request fails.
* CHANGE: sequential and rsequential resourcing is now global
across all clients.
* ADDED: Automatic form parsing for html pages
* ADDED: Container now has params and headers from the request
* ADDED: Assume HTTP response codes >= 400 are failed requests
unless a response block is defined for that status in which
case the block must return fail.
* ADDED: Support for HTTP Basic authentication
* ADDED: Templating for resources parameters and headers.
* ADDED: Built-in variable :HOSTNAME can be overriden by CLI argument.
* ADDED: Automatic JSON parsing in response blocks (as 'doc')
#### 0.7.1 (2009-10-21) ###############################
NOTE: Complete rewrite. Features include:
* New internal architecture.
* Improved stability and output for high thread loads.
* Updated configuration syntax
* Granular reporting via Benelux
#### 0.6.0 (2009-03-15) ###############################
http://github.com/solutious/stella/tree/0.6
* COMPLETE REWRITE!
* The commands and API from 0.5.x are no longer supported. This ain't your grandmother's Stella.
* NEW: Tests are now defined using a DSL. See tryouts/dsl_tryout.rb for an example.
* NEW: Tests are run with Ruby directly: ruby testplan.rb (for now)
#### 0.5.6 (2009-02-04) ###############################
* API Change: watch is replaced by pcap and proxy.
* "stella watch -C" is now "stella pcap"
* "stella watch -P" is now "stella proxy"
* Fixed body printing bug for stella -v watch -C
* Added adapter tests
* Improved RDocs
#### 0.5.5 (2009-01-14) ###############################
http://github.com/solutious/stella/tree/stella-0.5.5
* Now has specs (33 specifications, 303 requirements)
* New dependency: test-spec (development copy only)
* Added delano/drydock to vendor (was delano/frylock).
* Improved argument handling for load tool adapters (httperf not complete)
* Re-built Stella::Storable and subclasses (now using "field" method)
* Test::Stats, Test::Run::Summary cleanup
* Fixed RubyGems require error
* Fixed stddev bug by removing weak math, adding stats class from Mongrel
* Fixed --agent error
#### 0.5.4-alpha (2009-01-07) #########################
http://github.com/solutious/stella/tree/stella-0.5.4-alpha
* New command: watch. Monitor HTTP traffic with Ruby-Pcap (unix only) or proxy. Pcap also supports DNS sniffing.
* Improved error handling for stats output
* Now runs on Ruby 1.9.1, JRuby
* Added Windows support for most features
* Added patch for Ruby-Pcap
* Added friendly error handling for Apache Bench, Siege, and Httperf
#### 0.5.3-preview (2008-12-23) #######################
http://github.com/solutious/stella/tree/e4d2bd8db3d1323fbc3b8bbb7f703ce7b8c88551
* Initial public release
|