On Oct 15, 12:19 am, ash <[email protected]> wrote: > Hi, > > Below is my portion of html code. > > I want to click TestSettings tab. > > <div id="testnavigation" style="float:left;left:33px"> > <ul id="testtablist"> > <li id="test_tab_settings" class="test-current"> > <a title="testSettings" onclick="Pages.go('testdisplaySiteSettings', > 1); return false;" href="#"> > <span id="testspan">TestSettings</span> > </a> > </li> > </ul> > </div> > > I tired all 3 below option.But nothing works. > > ie.link(:id, 'test_tab_settings').click
This would not work because there is no link element with this ID, the element with this ID is a 'li' tag which is a "List Item". I expect this got an error of the sort relating to being unable to find the item, or if it did not get an error, it did not actually 'click the link' since the list item has no event action defined. > ie.span(:text, 'TestSettings').click This should have worked, since there is a span element, although I don't expect anything to have happened because again the span is not the element which is looking for the 'onclick' to occur. However given the one error you showed (it might be more helpful to know the error associated with each of the things you tried) it leads me to wonder if the elements there are inside a frame or something that would prevent them being found and require you to address them starting with the frame object (see RJ's answer) > ie.div(:id, 'testnavigation').click While this div exists, it appears to be an outer container for the entire tab list, so I would not expect clicking it to do anything, and if you got an error trying to do this then there is some otther problem exists (again, frames might be my first guess) The structure of your page appears to be (using periods in a futile attempt to force intented formatting) Unordered List (UL tag) which is the list of tabs . List item (LI tag) which appears to be the tag, . . Link (A tag) which is wired to respond to clicks . . .Span (Span tag) which contains the text for the tab The List Item has an ID, which should be uique and thus makes it easy to identify. The Link has a title which may or may not be unique, it also ends up having text since there is text in the span within the link. So two tactics you could employ would be to identify the list item, and then the first link within it, and click that, the other would be to click the link via the text contained within the link. Using watir 2.x or Watir-webdriver, either of the following should work unless these things are inside a frame browser.li(:id, "test_tab_settings").link.click . or browser.link(:text, "TestSettings").click If those give errors saying the element can not be located then it's time to check for frames, see this http://wiki.openqa.org/display/WTR/Frames for more info on how to do that. ---- As a word of advice, since you mistook a list item for a link, your knowledge of HTML might be a little weak, and I can tell you from experience that's a place where you need a pretty good skill base. It is especially important for someone doing webtesting, and in particular web based automation to have a good understanding of basic HTML and HTTP as well, so that might be an area you will want to seek to improve -- Before posting, please read http://watir.com/support. In short: search before you ask, be nice. [email protected] http://groups.google.com/group/watir-general [email protected]
