Sha256: 7fabaea541a6b97e840e98bb65fe874b996940bf23bab645365eb52535a970c2

Contents?: true

Size: 1.29 KB

Versions: 2

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true

module Superbot
  module CLI
    class RunCommand < Clamp::Command
      include Superbot::Validations

      parameter "PATH", "project directory" do |path|
        validates_project_path path
      end

      option ['--browser'], 'BROWSER', "Browser type to use. Can be either local or cloud", default: 'cloud' do |browser|
        validates_browser_type browser
      end
      option ['--region'], 'REGION', 'Region for remote webdriver'
      option ['-u', '--user'], 'AUTH_USER_NAME', 'Cloud webdriver auth credentials', environment_variable: 'AUTH_USER_NAME', attribute_name: :auth_user
      option ['-p', '--password'], 'AUTH_USER_PASSWORD', 'Cloud webdriver auth credentials', environment_variable: 'AUTH_USER_PASSWORD', attribute_name: :auth_password

      def execute
        script = File.read(File.join(path, 'main.rb'))

        @teleport = Thread.new do
          Superbot::CLI::TeleportCommand.run(nil, ARGV[2..-1], context)
        end

        @capybara_runner = Superbot::Capybara::Runner.new(browser: browser, region: region)
        @capybara_runner.run(script)
        puts @capybara_runner.test_result

        puts "Press ENTER to exit"

        $stdin.gets
      ensure
        @teleport&.kill
        @capybara_runner&.kill_session
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
superbot-0.1.10 lib/superbot/cli/run_command.rb
superbot-0.1.9 lib/superbot/cli/run_command.rb