On 5/10/07, aslak hellesoy <aslak.hellesoy at gmail.com>
wrote:> RSpec 0.9.4 has just been released. Gems haven''t rsync''ed
around the
> globe yet, so you might have to wait a few hours to install it.
>
> The big news this time is Spec::Ui 0.2.0, which has been released
> along with RSpec core. This RSpec extension gives you custom Watir
> matchers (custom Selenium-RC matchers are not implemented yet).
> Moreover, it comes with a custom KICK ASS formatter that, for each
> failing example, puts a screenshot of your browser - and its HTML
> source - straight into the report. And it all gets embedded into one
> single HTML file.
>
> Spec::Ui is not documented on the website yet (there are some READMEs
> and examples in the source though). But here is the gist of it:
>
> == Install => gem install rspec -r 0.9.4
> gem install spec_ui -r 0.2.0
>
> === Windows users - if you want screenshots ==> gem install
win32screenshot
> Install RMagick (special install procedure)
>
> == Configure =>
> === Rakefile ==> require ''spec/rake/spectask''
>
> desc "Run UI Specs"
> Spec::Rake::SpecTask.new(''spec:ui'') do |t|
> t.spec_files = FileList[''spec/**/*.rb'']
> t.spec_opts = [
> ''--require'', ''spec/spec_helper'',
> ''--format'',
''Spec::Ui::ScreenshotFormatter:spec_report.html'',
> ''--format'', ''progress'',
> ]
> end
>
> === spec_helper.rb ==> # require this file from all your specs under
MYAPP/spec/watir or
> MYAPP/spec/selenium
> require ''rubygems''
> require ''spec''
> require ''spec/ui''
> require ''spec/ui/watir''
>
> class Spec::DSL::Behaviour
> def before_eval
> # This gives us Watir matchers. Sorry - Selenium-RC users must use
> the low level API
> include Spec::Matchers::Watir
> end
> end
>
Actually, use this instead:
Spec::Runner.configure do |config|
config.include Spec::Matchers::Watir
end
I''ve also attached a sample report so you can see what it''s
all about.
> === before and after blocks ==> All of your specs need some carefully
designed before and after blocks:
>
> before(:all) do
> @browser = Watir::Browser.new
> #@browser = Selenium::SeleniumDriver.new("localhost", 4444,
> "*safari", "http://www.google.no", 10000)
> end
>
> after(:each) do
> # This is needed to make screenshots work
> Spec::Ui::ScreenshotFormatter.browser = @browser
> end
>
> after(:all) do
> @browser.kill! rescue nil
> end
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: spec_report.html.gz
Type: application/x-gzip
Size: 251020 bytes
Desc: not available
Url :
http://rubyforge.org/pipermail/rspec-users/attachments/20070510/6f968dbc/attachment-0001.gz