lib/selenium/link.rb in Selenium-1.0.9 vs lib/selenium/link.rb in Selenium-1.1.11
- old
+ new
@@ -1,41 +1,31 @@
module Selenium
# Link class that models the behavior of a link
- class Link
- attr_reader :browser
-
+ class Link < HtmlElement
def Link::by_id(browser, id, target = nil)
- Link.new(browser, "id=#{id}", target)
+ Link.new(WebPage.new(browser), "id=#{id}", target)
end
def Link::by_text(browser, text, target = nil)
- Link.new(browser, "link=#{text}", target)
+ Link.new(WebPage.new(browser), "link=#{text}", target)
end
- def initialize(browser, locator, target = nil)
- @browser = browser
- @locator = locator
+ def initialize(webpage, locator, target = nil)
+ super(webpage, locator)
@target = target
end
- # click the link
- def click
- @browser.click(@locator)
+ def with_target(target)
+ Link.new(webpage, locator, target.new(webpage.browser))
end
- # click the link and wait for page to load
- def click_wait
- click
- @browser.wait_for_page_to_load(30000)
- end
-
# click the link, wait for the page to load, and asserts the target that
# was passed in during initialization
def go
raise "target page not defined for link #{@locator}" unless @target
click_wait
- @target.assert_page
+ @target.ensure_present
@target
end
end
end