Hi Jason,

I used the following UI module, but could not reproduce your problem.

class MyModule extends DslContext {

    public void defineUi() {

        ui.Container(uid: "successMsg", clocator: [id: "successMsg"])
        ui.Container(uid: "errorMsg", clocator: [id: "errorMsg"])
        ui.Container(uid: "name", clocator: [tag: "body", id:
"add_new_discussion"]) {
            Container(uid: "newArticle", clocator: [tag: "div", class:
"add_new_article"]) {
                Container(uid: "head", cloator: [class: "head"]) {
                    Container(uid: "discussionEntryModuleTitle", clocator:
[tag: "h3"])
                }
                Container(uid: "body", clocator: [class: "body"]) {
                    Container(uid: "discussionTitle", clocator: [tag: "li",
class: "input text"]) {
                        Container(uid: "titleLabel", clocator: [tag:
"label", for: "cmsgData[topic]"]);
                        InputBox(uid: "newDiscussionTitle", clocator: [name:
"cmsgData[topic]"]);
                        Container(uid: "errorMessage", clocator: [class:
"errorInput"])
                    }
                    Container(uid: "category", clocator: [tag: "li", class:
"input select"]) {
                        Container(uid: "categoryLabel", clocator: [tag:
"label", for: "cmsgData[category]"])
                        Selector(uid: "discussionCategory", clocator: [name:
"cmsgData[category]"]);
                        Container(uid: "errorMessage", clocator: [class:
"errorInput"])
                    }
                    Container(uid: "discussionTextArea", clocator: [tag:
"li", class: "input textarea"]) {
                        Container(uid: "bodyLabel", clocator: [tag: "label",
for: "cmsgData[description]"]);
                        InputBox(uid: "bodyFrame", clocator: [class:
"mceContentBody ", id: "tinymce"]);
                        Container(uid: "errorMessage", clocator: [class:
"errorInput"])
                        Container(uid: "charactersRemaining", clocator: [id:
"inputCount"])
                    }

                }
            }
        }

    }
}

Could you replace your UI module with the above one to see if the problem is

still there?

Thanks,

Jian


On Tue, Feb 15, 2011 at 5:10 PM, Jason <[email protected]> wrote:

> Thanks much -- here's the UI definition for that module:
>
> Some of my objects share a single dslcontext -- which is why you see
> the reference to 'dslContext.ui....' here which is a little weird, I
> know.  However, this works fine in .6 but has trouble in .8.
>
> Note that our tinyMCE component is within an iframe, which I suspect
> may be the source of the issue.  Not sure why this works in .6,
> however.
>
> The UI element ...discussionTextArea.bodyLabel refers to this HTML
> source:
>
> <iframe style="width: 100%; height: 167px;" src='javascript:""'
> id="cmsgData[description]_ifr" frameborder="0"></iframe>
>
> Do you agree that his may be the culprit?  If so, what would you
> advise?
>
> thanks!
> Jason
> ...
>
>        public void defineUi() {
>
>                dslContext.ui.Container(uid:"successMsg", clocator:
> [id:"successMsg"])
>                dslContext.ui.Container(uid:"errorMsg",
> clocator:[id:"errorMsg"])
>                dslContext.ui.Container(uid:this.getName(),
> clocator:[tag:"body",
> id:"add_new_discussion"]){
>                        Container(uid:"newArticle", clocator:[tag:"div",
> class:"add_new_article"]){
>                                Container(uid:"head",
> cloator:[class:"head"]){
>
>  Container(uid:"discussionEntryModuleTitle", clocator:[tag:"h3"])
>                                }
>                                Container(uid:"body",
> clocator:[class:"body"]){
>                                        Container(uid:"discussionTitle",
> clocator:[tag:"li", class:"input
> text"]){
>                                                Container(uid:"titleLabel",
> clocator:[tag:"label",
> for:"cmsgData[topic]"]);
>
>  InputBox(uid:"newDiscussionTitle", clocator:[name:
> "cmsgData[topic]" ]);
>
>  Container(uid:"errorMessage", clocator:[class:"errorInput"])
>                                        }
>                                        Container(uid:"category",
> clocator:[tag:"li", class:"input
> select"]){
>
>  Container(uid:"categoryLabel", clocator:[tag:"label",
> for:"cmsgData[category]"])
>
>  Selector(uid:"discussionCategory", clocator:
> [name:"cmsgData[category]"]);
>
>  Container(uid:"errorMessage", clocator:[class:"errorInput"])
>                                        }
>                                        Container(uid:"discussionTextArea",
> clocator:[tag:"li",
> class:"input textarea"]){
>                                                Container(uid:"bodyLabel",
> clocator:[tag:"label",
> for:"cmsgData[description]"]);
>                                                InputBox(uid:"bodyFrame",
> clocator:[class:"mceContentBody ",
> id:"tinymce"]);
>
>  Container(uid:"errorMessage", clocator:[class:"errorInput"])
>
>  Container(uid:"charactersRemaining", clocator:[id:"inputCount"])
>                                         }
>
>                                }
>                        }
>                }
>
>
> On Feb 14, 7:43 pm, Jian Fang <[email protected]> wrote:
> > The error happened when Tellurium Engine tried to construct UI module
> from
> > the JSON
> > array from Tellurium core. Not sure what was wrong, but we do appreciate
> > if you could post the UI module here so that we can diagnose the problem.
> >
> > Thanks,
> >
> > Jian
> >
> > On Sat, Feb 12, 2011 at 2:22 PM, Jason <[email protected]> wrote:
> > > Hi all,
> >
> > > In updating my ui definitions from .6 to .8, i'm hitting on a
> > > difference where isElementPresent() on an element now returns false.
> > > In trying to debug it using validate(), I get an error that 'child is
> > > null' -- can somebody shed some light in what this implies, whether
> > > it's expected, likely to be an error in my part or within Tellurium?
> >
> > > Below is the (rather long, sorry!) stack trace:
> >
> > >  [groovyt] RuntimeEnvironment: [useCssSelector: true, useNewEngine:
> > > false, useClosestMatch: true, useEngineLog: true, lastError:
> > >  [groovyt] ERROR: Command execution failure. Please search the
> > > Tellurium User Group athttp://groups.google.com/group/tellurium-users
> > > for error details from the log window..  The error message is:
> > > message: child is null, name: TypeError, filename:
> > >http://localhost:5556/selenium-server/core/scripts/tellurium-uiobj.js,
> > > linenumber: 831.
> > >  [groovyt] JavaScript Error Stack:
> > >  [groovyt] {anonymous}([object Array])@http://localhost:5556/selenium-
> > > server/core/scripts/tellurium-uimodule.js:199
> > >  [groovyt]
> > >  [groovyt] {anonymous}([object Array])@http://localhost:5556/selenium-
> > > server/core/scripts/tellurium-uimodule.js:156
> > >  [groovyt]
> > >  [groovyt] {anonymous}([object Array])@http://localhost:5556/selenium-
> > > server/core/scripts/tellurium-api.js:87
> > >  [groovyt]
> > >  [groovyt] {anonymous}([object Array])@http://localhost:5556/selenium-
> > > server/core/scripts/tellurium-extensions.js:344
> > >  [groovyt]
> > >  [groovyt] {anonymous}([object Object],[object Object])@http://
> > > localhost:5556/selenium-server/core/scripts/tellurium.js:523
> > >  [groovyt]
> > >  [groovyt] {anonymous}()@http://localhost:5556/selenium-server/core/
> > > scripts/tellurium.js:648
> > >  [groovyt]
> > >  [groovyt] {anonymous}("[{\"uid\":
> > > \"discussionEntry.newArticle.body.discussionTitle\",\"args\":[[{\"obj
> > > \":{\"uid\":\"discussionTitle\",\"locator\":{\"tag\":\"li\",
> > > \"attributes\":{\"class\":\"input text\"}},\"uiType\":\"Container\",
> > > \"metaData\":{\"id\":\"discussionTitle\",\"type\":\"UiObject\"}},\"key
> > > \":\"discussionEntry.newArticle.body.discussionTitle\"},{\"obj\":{\"uid
> > > \":\"errorMessage\",\"locator\":{\"attributes\":{\"class\":\"errorInput
> > > \"}},\"uiType\":\"Container\",\"metaData\":{\"id\":\"errorMessage\",
> > > \"type\":\"UiObject\"}},\"key\":
> > > \"discussionEntry.newArticle.body.discussionTitle.errorMessage\"},
> > > {\"obj\":{\"uid\":\"titleLabel\",\"locator\":{\"tag\":\"label\",
> > > \"attributes\":{\"for\":\"cmsgData[topic]\"}},\"uiType\":\"Container\",
> > > \"metaData\":{\"id\":\"titleLabel\",\"type\":\"UiObject\"}},\"key\":
> > > \"discussionEntry.newArticle.body.discussionTitle.titleLabel\"},{\"obj
> > > \":{\"uid\":\"newDiscussionTitle\",\"locator\":{\"tag\":\"input\",
> > > \"attributes\":{\"name\":\"cmsgData[topic]\"}},\"uiType\":\"InputBox\",
> > > \"metaData\":{\"id\":\"newDiscussionTitle\",\"type\":\"UiObject\"}},
> > > \"key\":
> > > \"discussionEntry.newArticle.body.discussionTitle.newDiscussionTitle
> > > \"}]],\"name\":\"getValidateUiModule\",\"sequ\":151}]","")@http://
> > > localhost:5556/selenium-server/core/scripts/tellurium-extensions.js:
> > > 336
> > >  [groovyt]
> > >  [groovyt] {anonymous}("[{\"uid\":
> > > \"discussionEntry.newArticle.body.discussionTitle\",\"args\":[[{\"obj
> > > \":{\"uid\":\"discussionTitle\",\"locator\":{\"tag\":\"li\",
> > > \"attributes\":{\"class\":\"input text\"}},\"uiType\":\"Container\",
> > > \"metaData\":{\"id\":\"discussionTitle\",\"type\":\"UiObject\"}},\"key
> > > \":\"discussionEntry.newArticle.body.discussionTitle\"},{\"obj\":{\"uid
> > > \":\"errorMessage\",\"locator\":{\"attributes\":{\"class\":\"errorInput
> > > \"}},\"uiType\":\"Container\",\"metaData\":{\"id\":\"errorMessage\",
> > > \"type\":\"UiObject\"}},\"key\":
> > > \"discussionEntry.newArticle.body.discussionTitle.errorMessage\"},
> > > {\"obj\":{\"uid\":\"titleLabel\",\"locator\":{\"tag\":\"label\",
> > > \"attributes\":{\"for\":\"cmsgData[topic]\"}},\"uiType\":\"Container\",
> > > \"metaData\":{\"id\":\"titleLabel\",\"type\":\"UiObject\"}},\"key\":
> > > \"discussionEntry.newArticle.body.discussionTitle.titleLabel\"},{\"obj
> > > \":{\"uid\":\"newDiscussionTitle\",\"locator\":{\"tag\":\"input\",
> > > \"attributes\":{\"name\":\"cmsgData[topic]\"}},\"uiType\":\"InputBox\",
> > > \"metaData\":{\"id\":\"newDiscussionTitle\",\"type\":\"UiObject\"}},
> > > \"key\":
> > > \"discussionEntry.newArticle.body.discussionTitle.newDiscussionTitle
> > > \"}]],\"name\":\"getValidateUiModule\",\"sequ\":151}]","")@http://
> > > localhost:5556/selenium-server/core/scripts/htmlutils.js:60
> > >  [groovyt]
> > >  [groovyt] {anonymous}([object Object],[object Object])@http://
> > > localhost:5556/selenium-server/core/scripts/selenium-
> > > commandhandlers.js:330
> > >  [groovyt]
> > >  [groovyt] {anonymous}()@http://localhost:5556/selenium-server/core/
> > > scripts/selenium-executionloop.js:112
> > >  [groovyt]
> > >  [groovyt] {anonymous}(-3)@http://localhost:5556/selenium-server/core/
> > > scripts/selenium-executionloop.js:78
> > >  [groovyt]
> > >  [groovyt] {anonymous}(-3)@http://localhost:5556/selenium-server/core/
> > > scripts/htmlutils.js:60
> > >  [groovyt] JavaScript Error Stack:
> > >  [groovyt] {anonymous}(null)@http://localhost:5556/selenium-server/
> > > core/scripts/tellurium-utils.js:638
> > >  [groovyt]
> > >  [groovyt] printStackTrace()@http://localhost:5556/selenium-server/
> > > core/scripts/tellurium-utils.js:623
> > >  [groovyt]
> > >  [groovyt] {anonymous}("Command execution failure. Please search the
> > > Tellurium User Group athttp://groups.google.com/group/tellurium-users
> > > for error details from the log window..  The error message is:
> > > message: child is null, name: TypeError, filename:
> > >http://localhost:5556/selenium-server/core/scripts/tellurium-uiobj.js,
> > > linenumber: 831. \nJavaScript Error Stack: \n{anonymous}([object
> > > Array])@http://localhost:5556/selenium-server/core/scripts/tellurium-
> > > uimodule.js:199\n\n{anonymous}([object Array])@http://localhost:5556/
> > > selenium-server/core/scripts/tellurium-uimodule.js:156\n\n{anonymous}
> > > ([object Array])@http://localhost:5556/selenium-server/core/scripts/
> > > tellurium-api.js:87\n\n{anonymous}([object Array])@http://localhost:
> > > 5556/selenium-server/core/scripts/tellurium-extensions.js:344\n
> > > \n{anonymous}([object Object],[object Object])@http://localhost:5556/
> > > selenium-server/core/scripts/tellurium.js:523\n\n{anonymous}()@http://
> > > localhost:5556/selenium-server/core/scripts/tellurium.js:648\n
> > > \n{anonymous}(\"[{\\\"uid\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle\\\",\\\"args\\\":[[{\
> > > \\"obj\\\":{\\\"uid\\\":\\\"discussionTitle\\\",\\\"locator\\\":{\\
> > > \"tag\\\":\\\"li\\\",\\\"attributes\\\":{\\\"class\\\":\\\"input text\\
> > > \"}},\\\"uiType\\\":\\\"Container\\\",\\\"metaData\\\":{\\\"id\\\":\\
> > > \"discussionTitle\\\",\\\"type\\\":\\\"UiObject\\\"}},\\\"key\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle\\\"},{\\\"obj\\\":{\\
> > > \"uid\\\":\\\"errorMessage\\\",\\\"locator\\\":{\\\"attributes\\\":{\\
> > > \"class\\\":\\\"errorInput\\\"}},\\\"uiType\\\":\\\"Container\\\",\\
> > > \"metaData\\\":{\\\"id\\\":\\\"errorMessage\\\",\\\"type\\\":\\
> > > \"UiObject\\\"}},\\\"key\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle.errorMessage\\\"},{\\
> > > \"obj\\\":{\\\"uid\\\":\\\"titleLabel\\\",\\\"locator\\\":{\\\"tag\\\":
> > > \\\"label\\\",\\\"attributes\\\":{\\\"for\\\":\\\"cmsgData[topic]\\
> > > \"}},\\\"uiType\\\":\\\"Container\\\",\\\"metaData\\\":{\\\"id\\\":\\
> > > \"titleLabel\\\",\\\"type\\\":\\\"UiObject\\\"}},\\\"key\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle.titleLabel\\\"},{\\
> > > \"obj\\\":{\\\"uid\\\":\\\"newDiscussionTitle\\\",\\\"locator\\\":{\\
> > > \"tag\\\":\\\"input\\\",\\\"attributes\\\":{\\\"name\\\":\\
> > > \"cmsgData[topic]\\\"}},\\\"uiType\\\":\\\"InputBox\\\",\\\"metaData\\
> > > \":{\\\"id\\\":\\\"newDiscussionTitle\\\",\\\"type\\\":\\\"UiObject\\
> > > \"}},\\\"key\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle.newDiscussionTitle\\
> > > \"}]],\\\"name\\\":\\\"getValidateUiModule\\\",\\\"sequ\\\":151}]\",
> > > \"\")@http://localhost:5556/selenium-server/core/scripts/tellurium-
> > > extensions.js:336\n\n{anonymous}(\"[{\\\"uid\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle\\\",\\\"args\\\":[[{\
> > > \\"obj\\\":{\\\"uid\\\":\\\"discussionTitle\\\",\\\"locator\\\":{\\
> > > \"tag\\\":\\\"li\\\",\\\"attributes\\\":{\\\"class\\\":\\\"input text\\
> > > \"}},\\\"uiType\\\":\\\"Container\\\",\\\"metaData\\\":{\\\"id\\\":\\
> > > \"discussionTitle\\\",\\\"type\\\":\\\"UiObject\\\"}},\\\"key\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle\\\"},{\\\"obj\\\":{\\
> > > \"uid\\\":\\\"errorMessage\\\",\\\"locator\\\":{\\\"attributes\\\":{\\
> > > \"class\\\":\\\"errorInput\\\"}},\\\"uiType\\\":\\\"Container\\\",\\
> > > \"metaData\\\":{\\\"id\\\":\\\"errorMessage\\\",\\\"type\\\":\\
> > > \"UiObject\\\"}},\\\"key\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle.errorMessage\\\"},{\\
> > > \"obj\\\":{\\\"uid\\\":\\\"titleLabel\\\",\\\"locator\\\":{\\\"tag\\\":
> > > \\\"label\\\",\\\"attributes\\\":{\\\"for\\\":\\\"cmsgData[topic]\\
> > > \"}},\\\"uiType\\\":\\\"Container\\\",\\\"metaData\\\":{\\\"id\\\":\\
> > > \"titleLabel\\\",\\\"type\\\":\\\"UiObject\\\"}},\\\"key\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle.titleLabel\\\"},{\\
> > > \"obj\\\":{\\\"uid\\\":\\\"newDiscussionTitle\\\",\\\"locator\\\":{\\
> > > \"tag\\\":\\\"input\\\",\\\"attributes\\\":{\\\"name\\\":\\
> > > \"cmsgData[topic]\\\"}},\\\"uiType\\\":\\\"InputBox\\\",\\\"metaData\\
> > > \":{\\\"id\\\":\\\"newDiscussionTitle\\\",\\\"type\\\":\\\"UiObject\\
> > > \"}},\\\"key\\\":\\
> > > \"discussionEntry.newArticle.body.discussionTitle.newDiscussionTitle\\
> > > \"}]],\\\"name\\\":\\\"getValidateUiModule\\\",\\\"sequ\\\":151}]\",
> > > \"\")@http://localhost:5556/selenium-server/core/scripts/htmlutils.js:
> > > 60\n\n{anonymous}([object Object],[object
> >
> > ...
> >
> > read more ยป
>
> --
> 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.
>
>

-- 
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