Thanks!
Is there any time line to release 0.7.0?

On Wed, Nov 4, 2009 at 3:06 AM, Jian Fang <[email protected]> wrote:

> Here is the Selenium core code for the selectFrame method,
>
>
> BrowserBot.prototype.selectFrame = function(target) {
>     if (target.indexOf("index=") == 0) {
>         target = target.substr(6);
>
>         var frame = this.getCurrentWindow().frames[target];
>         if (frame == null) {
>             throw new SeleniumError("Not found: frames["+target+"]");
>         }
>         if (!frame.document) {
>
>             throw new SeleniumError("frames["+target+"] is not a frame");
>         }
>         this.currentWindow = frame;
>         this.isSubFrameSelected = true;
>     }
>     else if (target == "relative=up" || target == "relative=parent") {
>
>         this.currentWindow = this.getCurrentWindow().parent;
>         this.isSubFrameSelected = (this._getFrameElement(this.currentWindow) 
> != null);
>     } else if (target == "relative=top") {
>         this.currentWindow = this.topFrame;
>
>         this.isSubFrameSelected = false;
>     } else {
>         var frame = this.findElement(target);
>         if (frame == null) {
>             throw new SeleniumError("Not found: " + target);
>         }
>
>         // now, did they give us a frame or a frame ELEMENT?
>         var match = false;
>         if (frame.contentWindow) {
>             // this must be a frame element
>             if (browserVersion.isHTA) {
>
>                 // stupid HTA bug; can't get in the front door
>                 target = frame.contentWindow.name 
> <http://frame.contentwindow.name/>;
>             } else {
>                 this.currentWindow = frame.contentWindow;
>
>                 this.isSubFrameSelected = true;
>                 match = true;
>             }
>         } else if (frame.document && frame.location) {
>             // must be an actual window frame
>             this.currentWindow = frame;
>
>             this.isSubFrameSelected = true;
>             match = true;
>         }
>
>         if (!match) {
>             // neither, let's loop through the frame names
>             var win = this.getCurrentWindow();
>
>             if (win && win.frames && win.frames.length) {
>                 for (var i = 0; i < win.frames.length; i++) {
>                     if (win.frames[i].name == target) {
>                         this.currentWindow = win.frames[i];
>
>                         this.isSubFrameSelected = true;
>                         match = true;
>                         break;
>                     }
>                 }
>             }
>             if (!match) {
>
>                 throw new SeleniumError("Not a frame: " + target);
>             }
>         }
>     }
>     // modifies the window
>     this.getCurrentWindow();
> };
>
> Seems one workaround is to use the "index=" locator if you know the index
>
> of the frame. For example, you can try
>
> ui.Frame(uid: "myframe", locator: "index=1"){
> ...
> }
>
> But not sure if this will work or not. You can try and see if this works.
>
> Thanks,
>
> Jian
>
>
> On Tue, Nov 3, 2009 at 2:21 AM, Liang HE <[email protected]> wrote:
>
>> Hi Hari,
>>
>> Thanks for the information. Unfortunately even id doesn't present.
>> The iframe tag is like:
>> <iframe width="250" height="300" frameborder="no"
>> src="unsecureFlow/authentication.htm">
>> Seems only src is identical.
>>
>> Thanks,
>> Liang
>>   On Tue, Nov 3, 2009 at 1:14 PM, Harihara Vinayakaram 
>> <[email protected]>wrote:
>>
>>> Id for the frame does work. I have used it.  The one object for which id
>>> does not work is window which needs a name
>>>
>>> Regards
>>> Hari
>>>
>>>
>>> On Tue, Nov 3, 2009 at 6:55 AM, Jian Fang <[email protected]>wrote:
>>>
>>>> You can try to use id if your frame has one, but I am not sure it will
>>>> work.
>>>>
>>>> What does your frame look like? We may be able to use jQuery to create a
>>>> custom method for you some time later.
>>>>
>>>> Thanks,
>>>>
>>>> Jian
>>>>
>>>>
>>>> On Mon, Nov 2, 2009 at 8:09 PM, Liang HE <[email protected]> wrote:
>>>>
>>>>> Hi Jian,
>>>>>
>>>>> Is "name" the only way to locate a frame in Selenium? Unfortunately the
>>>>> application under test doesn't define a name. Any work-around as you know?
>>>>>
>>>>> Thanks a lot!
>>>>> Liang
>>>>>
>>>>>   On Mon, Nov 2, 2009 at 10:33 PM, Jian Fang <[email protected]
>>>>> > wrote:
>>>>>
>>>>>> Pass in uid is the correct way to call waitForFrameToLoad(uid,
>>>>>> timeout).
>>>>>>
>>>>>> But for Frame, you should define the name attribute for it because
>>>>>> Selenium uses "name" to locate the frame,
>>>>>>
>>>>>> http://code.google.com/p/aost/wiki/UserGuide070UIObjects#Frame
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Jian
>>>>>>
>>>>>>
>>>>>> On Mon, Nov 2, 2009 at 2:35 AM, Liang HE <[email protected]> wrote:
>>>>>>
>>>>>>> Hi Friends,
>>>>>>>
>>>>>>> I can hardly find more information in Tellurium user guide about the
>>>>>>> usage of "waitForFrameToLoad". The api says the first argument is
>>>>>>> frameAddress, but I don't know what is the frameAddress. I tried to use 
>>>>>>> uid,
>>>>>>> but get NullPointerException:
>>>>>>> java.lang.NullPointerException
>>>>>>> at java.net.URLEncoder.encode(URLEncoder.java:188)
>>>>>>> at
>>>>>>> com.thoughtworks.selenium.DefaultRemoteCommand.urlEncode(DefaultRemoteCommand.java:86)
>>>>>>> at
>>>>>>> com.thoughtworks.selenium.DefaultRemoteCommand.getCommandURLString(DefaultRemoteCommand.java:59)
>>>>>>> at
>>>>>>> com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:86)
>>>>>>> at
>>>>>>> com.thoughtworks.selenium.DefaultSelenium.waitForFrameToLoad(DefaultSelenium.java:639)
>>>>>>> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
>>>>>>> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
>>>>>>> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
>>>>>>> at
>>>>>>> groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
>>>>>>> at groovy.lang.MetaObjectProtocol$invokeMethod.call(Unknown Source)
>>>>>>> at
>>>>>>> org.tellurium.dispatch.Dispatcher.invokeMethod(Dispatcher.groovy:26)
>>>>>>> at
>>>>>>> org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:46)
>>>>>>> at
>>>>>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
>>>>>>> at
>>>>>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
>>>>>>> at
>>>>>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
>>>>>>> at
>>>>>>> org.tellurium.access.Accessor.waitForFrameToLoad(Accessor.groovy:294)
>>>>>>> at org.tellurium.access.Accessor$waitForFrameToLoad.call(Unknown
>>>>>>> Source)
>>>>>>> at
>>>>>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
>>>>>>> at
>>>>>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
>>>>>>> at
>>>>>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
>>>>>>> Anyone have some clue?
>>>>>>>
>>>>>>> Thank you!
>>>>>>> Liang
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"tellurium-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/tellurium-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to