Hi all,
It seems IE & firefox don't deal with relative paths in the same way.
Given the following page:
<html>
<body>
<a href="/foo.html">hello</a>
</body>
</html>
Here is a comparison of various ways to get the link:
On IE 8:
- Ie fails with: browser.link(:href, '/foo.html').exists?
- Ie works with: browser.link(:href, /foo.html/).exists?
- Ie works with: browser.link(:xpath, "//a[@href='/foo.html']").exists?
- Ie fails with: browser.element(:xpath, "//a[@href='/foo.html']").exists?
Watir::Exception::MissingWayOfFindingObjectException: xpath is an
unknown way of
finding a <*> element (//a[@href='/foo.html'])
- Ie fails with: browser.element_by_xpath("//a[@href='/foo.html']").exists?
WIN32OLERuntimeError: unknown property or method `exists?'
HRESULT error code:0x80020006
Unknown name.
On Firefox:
- firwfox works with: browser.link(:href, '/foo.html').exists?
- firefox works with: browser.link(:href, /foo.html/).exists?
- firefox works with: browser.link(:xpath,
"//a[@href='/foo.html']").exists?
- firefox fails with: browser.element(:xpath,
"//a[@href='/foo.html']").exists?
NoMethodError: undefined method `element' for
#<FireWatir::Firefox:0x1015426d8>
- firefox works with:
browser.element_by_xpath("//a[@href='/foo.html']").exists?
It seems like IE converts the relative url into absolute (at least that's
what I'm seeing when I do browser.link(:href, /foo.html).to_s. Is there
any easy way to get the original relative url? It would be nice to fix the
behavior to be consistent across browsers :)
I do have a unittest for all this. Should I put it in watir/unittests or
commonwatir/unittests ?
Alok
_______________________________________________
Wtr-development mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-development