Skip to content

Instantly share code, notes, and snippets.

@LuckOfWise
Forked from tricknotes/.gitignore
Created July 7, 2012 22:46
Show Gist options
  • Select an option

  • Save LuckOfWise/3068445 to your computer and use it in GitHub Desktop.

Select an option

Save LuckOfWise/3068445 to your computer and use it in GitHub Desktop.

Revisions

  1. @tricknotes tricknotes revised this gist Jul 7, 2012. 3 changed files with 4 additions and 9 deletions.
    2 changes: 1 addition & 1 deletion Gemfile
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    source :rubygems

    gem 'capybara-webkit'
    gem 'capybara'
    gem 'rspec'

    gem 'axlsx'
    6 changes: 1 addition & 5 deletions Gemfile.lock
    Original file line number Diff line number Diff line change
    @@ -13,14 +13,10 @@ GEM
    rack-test (>= 0.5.4)
    selenium-webdriver (~> 2.0)
    xpath (~> 0.1.4)
    capybara-webkit (0.12.1)
    capybara (>= 1.0.0, < 1.2)
    json
    childprocess (0.3.3)
    ffi (~> 1.0.6)
    diff-lcs (1.1.3)
    ffi (1.0.11)
    json (1.7.3)
    libwebsocket (0.1.3)
    addressable
    mime-types (1.19)
    @@ -55,6 +51,6 @@ PLATFORMS

    DEPENDENCIES
    axlsx
    capybara-webkit
    capybara
    mini_magick
    rspec
    5 changes: 2 additions & 3 deletions spec/spec_helper.rb
    Original file line number Diff line number Diff line change
    @@ -1,12 +1,11 @@
    # coding: utf-8

    require 'capybara/dsl'
    require 'capybara-webkit'

    require 'axlsx'
    require 'mini_magick'

    Capybara.default_driver = :webkit
    Capybara.default_driver = :selenium
    Capybara.app_host = 'http://regional.rubykaigi.org'

    RSpec.configure do |config|
    @@ -46,7 +45,7 @@ def serial_number
    end

    image_src = File.join(output_dir, '%s.png' % [spec_number])
    page.driver.render(image_src)
    page.driver.browser.save_screenshot(image_src)

    image_data = MiniMagick::Image.open(image_src)

  2. @tricknotes tricknotes revised this gist Jul 6, 2012. 3 changed files with 67 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -2,3 +2,6 @@ source :rubygems

    gem 'capybara-webkit'
    gem 'rspec'

    gem 'axlsx'
    gem 'mini_magick'
    10 changes: 10 additions & 0 deletions Gemfile.lock
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,10 @@ GEM
    remote: http://rubygems.org/
    specs:
    addressable (2.2.8)
    axlsx (1.1.7)
    nokogiri (>= 1.4.1)
    rake (>= 0.8.7)
    rubyzip (>= 0.9.5)
    capybara (1.1.2)
    mime-types (>= 1.16)
    nokogiri (>= 1.3.3)
    @@ -20,11 +24,14 @@ GEM
    libwebsocket (0.1.3)
    addressable
    mime-types (1.19)
    mini_magick (3.4)
    subexec (~> 0.2.1)
    multi_json (1.3.6)
    nokogiri (1.5.5)
    rack (1.4.1)
    rack-test (0.6.1)
    rack (>= 1.0)
    rake (0.9.2.2)
    rspec (2.10.0)
    rspec-core (~> 2.10.0)
    rspec-expectations (~> 2.10.0)
    @@ -39,12 +46,15 @@ GEM
    libwebsocket (~> 0.1.3)
    multi_json (~> 1.0)
    rubyzip
    subexec (0.2.2)
    xpath (0.1.4)
    nokogiri (~> 1.3)

    PLATFORMS
    ruby

    DEPENDENCIES
    axlsx
    capybara-webkit
    mini_magick
    rspec
    54 changes: 54 additions & 0 deletions spec/spec_helper.rb
    Original file line number Diff line number Diff line change
    @@ -3,9 +3,63 @@
    require 'capybara/dsl'
    require 'capybara-webkit'

    require 'axlsx'
    require 'mini_magick'

    Capybara.default_driver = :webkit
    Capybara.app_host = 'http://regional.rubykaigi.org'

    RSpec.configure do |config|
    include Capybara::DSL

    def excel
    @@excel ||= Axlsx::Package.new
    end

    def worksheet_for_spec
    @@worksheet_for_spec ||= excel.workbook.add_worksheet(name: 'Spec') do |sheet|
    excel.workbook.styles do |style|
    black_cell = style.add_style :bg_color => '000000', :fg_color => 'FFFFFF', :sz => 14, :alignment => { :horizontal=> :center }
    sheet.add_row %w(検証項目 ○/×), style: black_cell
    end
    end
    end

    def output_dir
    File.join(File.dirname(__FILE__), '..', 'output')
    end

    def serial_number
    @@serial_number ||= 0
    @@serial_number += 1
    end

    config.after :each do
    metadata = self.example.metadata
    description = [*metadata[:example_group][:description_args], *metadata[:description_args]].join('-')

    spec_number = serial_number

    excel.workbook.styles do |style|
    border = style.add_style :border => { :style => :thick, :color =>"AAAAAA" }
    worksheet_for_spec.add_row [description, self.example.exception ? '×' : '○'], style: border
    end

    image_src = File.join(output_dir, '%s.png' % [spec_number])
    page.driver.render(image_src)

    image_data = MiniMagick::Image.open(image_src)

    excel.workbook.add_worksheet(name: 'ScreenShot_%s' % [spec_number]) do |sheet|
    sheet.add_image(image_src: image_src) do |image|
    image.width = image_data[:width]
    image.height = image_data[:height]
    end
    end
    end

    config.after :suite do
    excel.use_shared_strings = true # for Numbers
    excel.serialize(File.join(output_dir, 'okayama01_spec.xlsx'))
    end
    end
  3. @tricknotes tricknotes created this gist Jul 6, 2012.
    1 change: 1 addition & 0 deletions .gitignore
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    /output
    4 changes: 4 additions & 0 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    source :rubygems

    gem 'capybara-webkit'
    gem 'rspec'
    50 changes: 50 additions & 0 deletions Gemfile.lock
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,50 @@
    GEM
    remote: http://rubygems.org/
    specs:
    addressable (2.2.8)
    capybara (1.1.2)
    mime-types (>= 1.16)
    nokogiri (>= 1.3.3)
    rack (>= 1.0.0)
    rack-test (>= 0.5.4)
    selenium-webdriver (~> 2.0)
    xpath (~> 0.1.4)
    capybara-webkit (0.12.1)
    capybara (>= 1.0.0, < 1.2)
    json
    childprocess (0.3.3)
    ffi (~> 1.0.6)
    diff-lcs (1.1.3)
    ffi (1.0.11)
    json (1.7.3)
    libwebsocket (0.1.3)
    addressable
    mime-types (1.19)
    multi_json (1.3.6)
    nokogiri (1.5.5)
    rack (1.4.1)
    rack-test (0.6.1)
    rack (>= 1.0)
    rspec (2.10.0)
    rspec-core (~> 2.10.0)
    rspec-expectations (~> 2.10.0)
    rspec-mocks (~> 2.10.0)
    rspec-core (2.10.1)
    rspec-expectations (2.10.0)
    diff-lcs (~> 1.1.3)
    rspec-mocks (2.10.1)
    rubyzip (0.9.9)
    selenium-webdriver (2.24.0)
    childprocess (>= 0.2.5)
    libwebsocket (~> 0.1.3)
    multi_json (~> 1.0)
    rubyzip
    xpath (0.1.4)
    nokogiri (~> 1.3)

    PLATFORMS
    ruby

    DEPENDENCIES
    capybara-webkit
    rspec
    22 changes: 22 additions & 0 deletions spec/okayama01_spec.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,22 @@
    # coding: utf-8
    require_relative './spec_helper'

    describe 'http://regional.rubykaigi.org/okayama01' do
    before do
    visit '/okayama01'
    end

    it 'タイトルに、"岡山Ruby会議01" と表示されていること' do
    should have_css('h2', text: '岡山Ruby会議01')
    end

    it 'タイムテーブルが掲載されていること' do
    should have_css('h3', text: 'タイムテーブル')
    end

    it 'すでに満員になっており、参加登録できないこと' do
    find('.registration_external').click_link('https://ssl.kokucheese.com/event/entry/33608/')
    should have_css('#lastmessage', text: '現在、お申し込みはできません。')
    should have_css('.alert', text: 'お申し込みが定員に達しました。')
    end
    end
    11 changes: 11 additions & 0 deletions spec/spec_helper.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    # coding: utf-8

    require 'capybara/dsl'
    require 'capybara-webkit'

    Capybara.default_driver = :webkit
    Capybara.app_host = 'http://regional.rubykaigi.org'

    RSpec.configure do |config|
    include Capybara::DSL
    end