class Object
Public Instance Methods
alphabetize_names(filename)
click to toggle source
# File lib/sim/support/rspec_util.rb, line 5 def alphabetize_names(filename) example.metadata[:snapshot_count] + '-' + filename end
dealphabetize_names(filename)
click to toggle source
# File lib/sim/support/rspec_util.rb, line 9 def dealphabetize_names(filename) filename[4..filename.length] end
is_cucumber()
click to toggle source
that’s okay for now since loading logic for rspec doesn’t hurt a cucumber run and vice versa
# File lib/sim/support/sim_util.rb, line 8 def is_cucumber() respond_to? :After end
is_rspec()
click to toggle source
# File lib/sim/support/sim_util.rb, line 12 def is_rspec() RSpec.respond_to? :configure end
path_of_example_groups(example, desc)
click to toggle source
# File lib/sim/support/rspec_util.rb, line 49 def path_of_example_groups(example, desc) # metadata maintains example_group structure as nested example_groups from inner to outer # so we build array from inner to outer and then reverse it groups = [] groups << desc current_group = example.metadata[:example_group] while (!current_group.nil?) do groups << current_group[:description] current_group = current_group[:example_group] end groups << Sim.base_screenshot_dir groups.reverse.join('/') end
path_to_screenshot(example)
click to toggle source
# File lib/sim/support/rspec_util.rb, line 40 def path_to_screenshot(example) if example.metadata[:screenshot_path] return example.metadata[:screenshot_path] end desc = example.metadata[:description_args].empty? ? example.metadata[:id] : example.metadata[:description_args].first.gsub('"',"'").gsub('|', '') example.metadata[:screenshot_path] = path_of_example_groups(example, desc) example.metadata[:screenshot_path] end
path_to_tmp(example)
click to toggle source
# File lib/sim/support/rspec_util.rb, line 32 def path_to_tmp(example) if example.metadata[:tmp_path] return example.metadata[:tmp_path] end example.metadata[:tmp_path] = path_to_screenshot(example) example.metadata[:tmp_path] end
quit()
click to toggle source
# File lib/sim/fail_fast.rb, line 17 def quit puts "preventing browser close" #STDOUT.puts "#{self.class}#quit: no-op" end
reset!()
click to toggle source
# File lib/sim/fail_fast.rb, line 33 def reset! puts "preventing reset to about page" end
save_html_to_file(example, filename)
click to toggle source
# File lib/sim/support/rspec_util.rb, line 24 def save_html_to_file(example, filename) File.open("#{path_to_tmp(example)}/#{filename}.html", 'w') {|f| f.write(page.html) } end
save_screenshot_to_file(example, filename)
click to toggle source
# File lib/sim/support/rspec_util.rb, line 28 def save_screenshot_to_file(example, filename) page.save_screenshot("#{path_to_tmp(example)}/#{filename}.png") end
save_snapshot(example,filename)
click to toggle source
# File lib/sim/support/rspec_util.rb, line 13 def save_snapshot(example,filename) ordered_filename = alphabetize_names(filename) save_html_to_file(example, ordered_filename) if example.metadata[:js] save_screenshot_to_file(example, ordered_filename) end example.metadata[:snapshot_count] = (example.metadata[:snapshot_count].to_i + 1).to_s.rjust($filename_padding, '0') end
set_app_address()
click to toggle source
# File lib/sim/remote.rb, line 9 def set_app_address() require 'system/getifaddrs' ip = $webserver_ip != nil ? $webserver_ip : System.get_ifaddrs.find{ |socket| socket[1][:inet_addr] != "127.0.0.1" } [1][:inet_addr] port = $webserver_port != nil ? $webserver_port : Capybara.current_session.server.port Capybara.app_host = "http://#{ip}:#{port}" puts "Registering http://#{ip}:#{port} as root server" end
set_local_config()
click to toggle source
# File lib/sim/local.rb, line 8 def set_local_config() # Capybara local run Capybara.javascript_driver = :selenium Capybara.default_driver = :selenium Capybara.register_driver :selenium do |app| Capybara::Selenium::Driver.new(app, :browser => :chrome) end end
set_local_phantomjs_config()
click to toggle source
# File lib/sim/local_phantomjs.rb, line 8 def set_local_phantomjs_config() # Capybara local phantomjs # Capybara.default_driver = :poltergeist Capybara.javascript_driver = :poltergeist end
stop()
click to toggle source
# File lib/sim/fail_fast.rb, line 25 def stop puts "preventing ChromeDriver stop" #STDOUT.puts "#{self.class}#stop: no-op" end