Sha256: 3e7f9e316ef7ee9467b54ba8711ad19f3432fa0b166db7084e30f6c9ec63e526

Contents?: true

Size: 1.08 KB

Versions: 10

Compression:

Stored size: 1.08 KB

Contents

class Navigate
  attr_reader :browser
  def initialize(browser)
    @browser = browser
  end
  def go(nav_path=[])
    raise ArgumentError if nav_path.class != Array || nav_path.nitems < 1 
    nav_path.each { |item|
      case item[:type]
        when 'link'
          exec = "@browser.link(#{item[:how]}, #{item[:what]}).#{item[:action]}"
          eval exec
        when 'text_field'
          if item.has_key?(:value)
            # escape ' in item[:value] as it's used for quoted string in the set
            #item[:value].gsub(/'/, /\'/)
            exec = "@browser.text_field(#{item[:how]}, #{item[:what]}).#{item[:action]}('#{item[:value]}')"
            eval exec
          end
        when 'check_box'
          # escape ' in item[:value] as it's used for quoted string in the set
          #item[:value].gsub(/'/, /\'/)
          exec = "@browser.checkbox(#{item[:how]}, #{item[:what]}).#{item[:action]}"
          eval exec
        when 'submit'
            exec = "@browser.button(#{item[:how]}, #{item[:what]}).#{item[:action]}"
            eval exec
         
      end
    }  
  end
end

Version data entries

10 entries across 5 versions & 1 rubygems

Version Path
qa_robusta-0.1.9 qa_observer/generators/site/templates/navigate.rb
qa_robusta-0.1.9 qa_observer/sites/demo/lib/navigate.rb
qa_robusta-0.1.8 qa_observer/sites/demo/lib/navigate.rb
qa_robusta-0.1.8 qa_observer/generators/site/templates/navigate.rb
qa_robusta-0.1.5 qa_observer/generators/site/templates/navigate.rb
qa_robusta-0.1.5 qa_observer/sites/demo/lib/navigate.rb
qa_robusta-0.1.4 qa_observer/generators/site/templates/navigate.rb
qa_robusta-0.1.4 qa_observer/sites/demo/lib/navigate.rb
qa_robusta-0.1.3 qa_observer/sites/demo/lib/navigate.rb
qa_robusta-0.1.3 qa_observer/generators/site/templates/navigate.rb