Sha256: a8f07d59fb760caf1647f4ec3f85e88ece1fbaa72af2e7cf3c4e2a64dd527e86

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

def success

end

Then /^I should be able to wait until it is present$/ do
  @element.when_present do
    success
  end
end

Then /^I should be able to wait until it is visible$/ do
  @element.when_visible do
    success
  end
end

Then /^I should be able to wait until it is not visible$/ do
  begin
    @element.when_not_visible do
      fail
    end
  rescue
    success
  end
end

Then /^I should be able to wait until a block returns true$/ do
  @element.wait_until do
    @element.visible?
  end
end

class AsyncPage
  include PageObject
  button(:target, :value => 'Target')
  button(:hide, :value => 'Hide Button')
  button(:unhide, :value => 'Unhide Button')
  button(:create_button, :value => 'Create Button')
  button(:created_button, :value => 'New Button')
end

Given /^I am on the async elements page$/ do
  @page = AsyncPage.new(@browser)
  @page.navigate_to(UrlHelper.async)
end

When /^I make the button invisible$/ do
  @page.hide
  sleep 2
end

Then /^I should be able to click it when it becomses visible$/ do
  @page.unhide
  @page.target_element.when_visible do
    @page.target
  end
end

Then /^I should be able to wait until the button becomes invisible$/ do
  @page.hide
  @page.target_element.when_not_visible do
    @page.target_element.attribute("block").should == "none"
  end
end

When /^I add a button a few seconds from now$/ do
  @page.create_button
end

Then /^I should be able to click it when it gets added$/ do
  @page.created_button_element.when_present.click
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
page-object-0.6.6 features/step_definitions/async_steps.rb