Sha256: b5f8f01a1efe2746362a1fa2194febb63e1116f8a25620f4dfa796c7870f2e54

Contents?: true

Size: 1.55 KB

Versions: 7

Compression:

Stored size: 1.55 KB

Contents

class JavascriptPage
  include PageObject

  text_field(:expression, :id => 'calculator-expression')
  text_field(:results, :id => 'calculator-result')
  button(:compute, :value => 'Compute')

end

def build_url(page)
  target = ENV['BROWSER']
  return "http://localhost:4567/#{page}" if target.nil? or target.include? 'local'
  "http://ec2-107-22-131-88.compute-1.amazonaws.com:4567/#{page}"
end

Given /^I am on jQuery example page$/ do
  PageObject.javascript_framework = :jquery
  @page = JavascriptPage.new(@browser)
  @page.navigate_to build_url("jquery.html")
end

Given /^I am on the Prototype example page$/ do
  PageObject.javascript_framework = :prototype
  @page = JavascriptPage.new(@browser)
  @page.navigate_to build_url('prototype.html')
end

When /^I ask to compute "([^\"]*)"$/ do |expression|
  @page.expression = expression
  @page.compute
end

Then /^I should be able to wait for the answer "([^\"]*)"$/ do |answer|
  @page.wait_for_ajax
  @page.results.should == answer
end

Given /^I execute the javascript "([^\"]*)"$/ do |script|
  @answer = @page.execute_script script
end

Given /^I execute the javascript "([^\"]*)" with an argument of "([^\"]*)"$/ do |script, arg|
  @answer = @page.execute_script script, arg
end

Given /^I execute the javascript "([^\"]*)" with a text field argument$/ do |script|
  text_field = @page.text_field_element(:id => 'text_field_id')
  @page.execute_script(script, text_field)
end

Then /^I should get the answer "([^\"]*)"$/ do |answer|
  @answer.should == answer.to_i
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
page-object-lds-0.0.14 features/step_definitions/javascript_steps.rb
page-object-lds-0.0.13 features/step_definitions/javascript_steps.rb
page-object-lds-0.0.12 features/step_definitions/javascript_steps.rb
page-object-lds-0.0.11 features/step_definitions/javascript_steps.rb
page-object-lds-0.0.1 features/step_definitions/javascript_steps.rb
meeane-page-object-0.1.10 features/step_definitions/javascript_steps.rb
meeane-page-object-0.1.8 features/step_definitions/javascript_steps.rb