Adding have_xpath matcher for Selenium
This commit is contained in:
parent
0888c683a3
commit
881d9f388d
|
@ -2,6 +2,34 @@ module Webrat
|
|||
module Selenium
|
||||
module Matchers
|
||||
|
||||
class HaveXpath
|
||||
def initialize(expected)
|
||||
@expected = expected
|
||||
end
|
||||
|
||||
def matches?(response)
|
||||
response.session.wait_for do
|
||||
response.selenium.is_element_present("xpath=#{@expected}")
|
||||
end
|
||||
end
|
||||
|
||||
# ==== Returns
|
||||
# String:: The failure message.
|
||||
def failure_message
|
||||
"expected following text to match xpath #{@expected}:\n#{@document}"
|
||||
end
|
||||
|
||||
# ==== Returns
|
||||
# String:: The failure message to be displayed in negative matches.
|
||||
def negative_failure_message
|
||||
"expected following text to not match xpath #{@expected}:\n#{@document}"
|
||||
end
|
||||
end
|
||||
|
||||
def have_xpath(xpath)
|
||||
HaveXpath.new(xpath)
|
||||
end
|
||||
|
||||
class HaveSelector
|
||||
def initialize(expected)
|
||||
@expected = expected
|
||||
|
|
Loading…
Reference in New Issue