@announce Feature: Advanced HTML Reports In order to quickly know the status of the application As a chemistry kit harness user I want a detailed HTML report of failures Background: Given I run `bundle exec ckit new reporting-test` And I cd to "reporting-test" And a file named "beakers/first_beaker.rb" with: """ describe "Reporting Beaker 1", :depth => 'shallow' do it "loads an external web page, from 1, example 1" do @driver.get "http://www.google.com" @driver.title.should include("Yoogle") end it 'something pending' do pending 'this should be pending' end it "loads an external web page, from 1, example 2" do @driver.get "http://www.google.com" @driver.title.should include("Google") end end """ And a file named "beakers/second_beaker.rb" with: """ describe "Reporting Beaker 2", :depth => 'shallow' do it "loads an external web page, from 2" do @driver.get "http://www.google.com" @driver.title.should include("Yoogle") end end """ And a file named "beakers/third_beaker.rb" with: """ describe "Reporting Beaker 3", :depth => 'shallow' do it "loads an external web page, from 3" do @driver.get "http://www.google.com" @driver.title.should include("Yoogle") end end """ And I overwrite config.yaml with: """ screenshot_on_fail: true selenium_connect: browser: 'firefox' """ Scenario: I can run the tests When I run `bundle exec ckit brew` Then the stdout should contain "5 examples, 3 failures, 1 pending" And the following files should exist: | evidence/final_results.html | Scenario: I can run the tests local with concurrency Given I overwrite config.yaml with: """ concurrency: 2 screenshot_on_fail: true selenium_connect: browser: 'chrome' """ When I run `bundle exec ckit brew` Then the stdout should contain "5 examples, 3 failures, 1 pending" And the following files should exist: | evidence/final_results.html | Scenario: I can run the tests with concurrency Given I overwrite config.yaml with: """ concurrency: 2 screenshot_on_fail: true selenium_connect: host: 'saucelabs' browser: 'firefox' sauce_username: 'testing_arrgyle' sauce_api_key: 'ab7a6e17-16df-42d2-9ef6-c8d2539cc38a' description: 'concurrency check' """ When I run `bundle exec ckit brew` Then the stdout should contain "2 processes for 3 beakers" And the following files should exist: | evidence/final_results.html | Scenario: I can run a passing suite Given a file named "beakers/fourth_beaker.rb" with: """ describe "Reporting Beaker 4", :depth => 'shallow' do it "loads an external web page, from 4" do @driver.get "http://www.google.com" @driver.title.should include("Google") end end """ When I run `bundle exec ckit brew --beakers=beakers/fourth_beaker.rb` And the following files should exist: | evidence/final_results.html | Scenario: I capture the dom from all open windows Given a file named "beakers/fifth_beaker.rb" with: """ describe "Reporting Beaker 5", :depth => 'shallow' do it "loads two windows, from 5" do @driver.get 'http://the-internet.herokuapp.com/windows' @driver.find_element(css: '.example a').click @driver.title.should include("Google") end end """ When I run `bundle exec ckit brew --beakers=beakers/fifth_beaker.rb` And the following files should exist: | evidence/final_results.html |