Hello.
Sometimes it is nice to compare two images with one another. We find this particularly handy for testing browser screenshots.
With Symilaa, this is particularly easy.
1. How to do it.
one = Symilaa::Image.new 'image.png'
two = Symilaa::Image.new 'slightly_different_image.png'
three = Symilaa::Image.new 'very_different_image.png'
one == one
#=> true
one == two
#=> false
one.similar_to? two
#=> true
one.similar_to? three
#=> false
That's it. Have a nice life.
ComparisonSupport
also provides a module for use with Cucumber testing.
Use ComparisonSupport#check_screen_against_reference_shot
to take a screenshot of the current page under test
and compare it with an existing reference screenshot.
NOTE
You must include the following in your features/support/env.rb:
Before do |scenario|
@gherkin_statement = scenario.gherkin_statement.name if scenario.respond_to?('gherkin_statement')
@gherkin_statement = scenario.scenario_outline.gherkin_statement.name if scenario.respond_to?('scenario_outline')
end
FileUtils.rm_rf 'artifacts/screenshots_generated_this_run'