class Shoot::CLI
Public Instance Methods
activate(*ids)
click to toggle source
# File lib/shoot/cli.rb, line 58 def activate(*ids) return puts "No ids provided, e.g. 'activate 123'" if ids.empty? table Browser.activate(ids) end
active()
click to toggle source
# File lib/shoot/cli.rb, line 29 def active table Browser.active end
deactivate(*ids)
click to toggle source
# File lib/shoot/cli.rb, line 64 def deactivate(*ids) return puts "No ids provided, e.g. 'deactivate 123'" if ids.empty? table Browser.deactivate(ids) end
deactivate_all()
click to toggle source
# File lib/shoot/cli.rb, line 70 def deactivate_all Browser.deactivate_all end
desc(command)
click to toggle source
# File lib/shoot/cli.rb, line 87 def desc(command) CLI.commands[command.to_s].description rescue nil end
elapsed_time() { || ... }
click to toggle source
# File lib/shoot/cli.rb, line 82 def elapsed_time elapsed_time = Benchmark.measure { yield } print set_color " (#{elapsed_time.real.to_i}s)\n", :blue end
list(filter = nil)
click to toggle source
# File lib/shoot/cli.rb, line 24 def list(filter = nil) table filter ? Browser.filter(filter) : Browser.all end
open()
click to toggle source
# File lib/shoot/cli.rb, line 19 def open `open #{Dir.glob(".screenshots/**/*.png").join(" ")}` end
run(scenario, browser = nil)
click to toggle source
# File lib/shoot/cli.rb, line 91 def run(scenario, browser = nil) runner = ScenarioRunner.new(scenario, browser) puts set_color runner.platform_name, :white, :bold runner.each_method do |method| print set_color " ➥ #{runner.klass}##{method} ... ", :white, :bold error = nil elapsed_time do ok, error = runner.run(method) print ok ? set_color("OK", :green) : set_color("FAILED", :red) end puts set_color " ⚠ #{error}", :red if error end end
scenario(path, *browser_ids)
click to toggle source
# File lib/shoot/cli.rb, line 34 def scenario(path, *browser_ids) scenarios = File.directory?(path) ? Dir.glob("#{path}/*.rb") : [path] browsers = browser_ids.empty? ? Browser.active : Browser.select_by_ids(browser_ids) elapsed_time do browsers.each do |browser| scenarios.each do |scenario| run scenario, browser end end print set_color("\nAll tests finished", :blue) end end
test(path)
click to toggle source
# File lib/shoot/cli.rb, line 49 def test(path) scenarios = File.directory?(path) ? Dir.glob("#{path}/*.rb") : [path] elapsed_time do scenarios.each{|scenario| run scenario } print set_color("\nAll tests finished", :blue) end end
update()
click to toggle source
# File lib/shoot/cli.rb, line 75 def update Browser.update_json list end
version()
click to toggle source
# File lib/shoot/cli.rb, line 14 def version puts Shoot::VERSION end