<div dir="ltr"><div><div><div>hi Jamie,<br><br></div>Thank you, that works, indeed. But I don't understand where you've got 'People dialog' from.<br><br></div>It wasn't obvious to me that there are iframes (and it's still not clear to me). I wonder how to detect that as a user. I've used Firebug > Net tab (whether with filter HTML+XHR, or showing any HTTP requests) and I cleared Firefox cache. I navigate from dashboard to 'People' tab. All HTML contents that I get is for:<br>
<br><a href="http://localhost/drupal7/">http://localhost/drupal7/</a><br><a href="http://localhost/drupal7/?q=admin%2Fpeople&render=overlay">http://localhost/drupal7/?q=admin%2Fpeople&render=overlay</a><br><br></div>
<div>When I search for 'People dialog', it's not in either of them. So how do I go about identifying what comes through iframes, please? That's why I've asked about tab behaviour in my initial question.<br>
</div><div><div><div><div><div class="gmail_extra"><br clear="all"><div>-Peter Kehl<br></div><br><div class="gmail_quote">On 28 January 2014 11:17, Jamie Holly wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Peter,<br>
<br>
Did you read the link I sent? I ask because I've never used
Seleneum before, but this part really caught my eye:<br>
<blockquote>In AJAX driven web applications, data is retrieved
from server without refreshing the page. Using andWait commands
will not work as the page is not actually refreshed. Pausing the
test execution for a certain period of time is also not a good
approach as web element might appear later or earlier than the
stipulated period depending on the system’s responsiveness, load
or other uncontrolled factors of the moment, leading to test
failures. <b>The best approach would be to wait for the needed
element in a dynamic period and then continue the execution as
soon as the element is found.</b><b><br>
</b><b><br>
</b><b>This is done using waitFor commands, as
waitForElementPresent or waitForVisible, which wait
dynamically, checking for the desired condition every second
and continuing to the next command in the script as soon as
the condition is met.</b><br>
</blockquote>
The overlays load iFrames, which can always be cumbersome to work
with, but that last paragraph was the key. I went ahead and
installed Selenium and came up with this real quick:<br>
<br>
open | (url)<br>
click | id=toolbar-link-admin-people<br>
waitForElementPresent | xpath=//iframe[contains(@title, 'People
dialog')]<br>
selectFrame | xpath=//iframe[contains(@title, 'People dialog')]<br>
click | xpath=//ul[contains(@class, 'action-links')]/li/a<br>
<br>
Like wise if you want to click the Permissions tab, change the
last click to :<br>
<br>
xpath=//ul[contains(@id, 'overlay-tabs')]/li[last()]/a<br>
<br>
Considering every element doesn't have an ID, I decided to use
xpath, as I know that.<br>
<br>
Tested in FF 26 with Selenium IDE 2.5.0 on local D7 site as well
as a hosted one.<span class=""><font color="#888888"><br>
<pre cols="72">Jamie Holly<a href="http://hollyit.net" target="_blank"></a><br></pre></font></span></div></div></blockquote></div></div></div></div></div></div></div>