Mahendra, We really need to create some examples to demonstrate the use of multiple UI modules in one test case and UI modules extend other UI modules. Then post the examples on our wiki page.
Thanks, Jian On Sep 28, 10:32 am, John <[email protected]> wrote: > Seems we cannot really re-produce your problem with our code. > Please do the following to help us help you. > > 1) Put a break point on the line which caused the problem > 2) Look at the "ui" variable, which is the UI parser, in the current > UI module. > If you look at the DslContext, you will see > UiDslParser ui = new UiDslParser() > 3) Look at the registry variable inside the "ui" variable to see if > the UI element > that seems missing is there or not. The registry is the object > registry and it is > a map with the UID as the key. > > def registry = [:] > > 4) If the UI element is not there for the second UI module, go back > and try to trace > the registry variable to see what you get after the defineUi() method. > > Thanks, > > Jian > > On Sep 28, 12:33 am, Setya <[email protected]> wrote: > > > Hi, > > > > I believe logically speaking extending UIModules from another > > > UIModules should be fine as long as they extend DslContext at some > > > level (this is the core of inheritance, of course Jian corrrect me if > > > I am wrong) > > > Yes, like I said UiModule A does extend DslContext. > > > And FYI, in both UiModule A & B 'defineUi' method there's already > > 'super.defineUi' call. > > > > You said the second test case throws an error, but have you tried > > > running all test cases one at a time? If so does that work? > > > Yes, it works. In fact, this is what we've been doing so far since > > running them all in one test suite doesn't work. > > > > Also any chance you could just paste the source code lines that are > > > causing the exception i.e. > > > > com.telkom.sdp.module.community.CommunityPage.returnFromCommunityPage(CommunityPage.groovy:59) > > > > and if possible > > > public void returnFromCommunityPage() > > { > > click PARENT_PATH + ".return"; > > waitForPageToLoad 1000; > > } > > > > com.telkom.sdp.module.community.RemoveCommunityPage.defineUi(RemoveCommunityPage.groovy:18) > > > public void defineUi() > > { > > super.defineUi(); > > > //Definition of Remove Community page > > ui.Form(uid: PARENT_PATH_REMOVE, clocator: [tag: "form", header: > > "/html/body", id: "removeCommunityForm"]) > > { > > Container(uid: "1stContainer", clocator: [tag: "table", > > position: "1"]) > > { > > InputBox(uid: "name", clocator: [tag: "input", type: > > "text", name: "name", id: "name"]) > > Span(uid: "nameError", clocator: [tag: "span", id: > > "name.errors"]) > > } > > > Container(uid: "2ndContainer", clocator: [tag: "table", > > position: "2"]) > > { > > SubmitButton(uid: "submit", clocator: [tag: "input", > > position: "1", type: "submit"]) > > InputBox(uid: "cancel", clocator: [tag: "input", > > position: "2", type: "button"], respond: ["click"]) > > } > > > Span(uid: "error", clocator: [tag: "span", header: "/div", > > id: "error.errors"]) > > } > > > //Definition of Remove Community Browse page > > ui.Container(uid: PARENT_PATH_REMOVE_BROWSE, clocator: [tag: > > "div", position: "2", header: "/html/body"]) > > { > > Table(uid: "1stContainer", clocator: [tag: "table", > > position: "3"]) > > { > > InputBox(uid: "row: *, column: 8", clocator: [tag: > > "input", direct: "true", type: "button"], respond: ["click"]) > > TextBox(uid: "all", clocator: [tag: "td", direct: "true"]) > > } > > > Container(uid: "2ndContainer", clocator: [tag: "table", > > header: "/div"]) > > { > > Container(uid: "3rdContainer", clocator: [tag: "tr", > > header: "/tbody"]) > > { > > TextBox(uid: "error", clocator: [tag: "td", > > position: "1"]) > > > Container(uid: "4thContainer", clocator: [tag: "td", > > position: "2"]) > > { > > InputBox(uid: "process", clocator: [tag: > > "input", position: "1", direct: "true", type: "button"], respond: ["click"]) > > InputBox(uid: "cancel", clocator: [tag: "input", > > position: "2", direct: "true", type: "button"], respond: ["click"]) > > } > > } > > } > > } > > > //Definition of Remove Community Confirmation page > > ui.Container(uid: PARENT_PATH_REMOVE_CONFIRM, clocator: [tag: > > "div", position: "2", header: "/html/body"]) > > { > > Table(uid: "1stContainer", clocator: [tag: "table", > > position: "1"]) > > > Container(uid: "2ndContainer", clocator: [tag: "table", > > position: "2"]) > > { > > Container(uid: "3rdContainer", clocator: [tag: "tr", > > header: "/tbody", direct: "true"]) > > { > > TextBox(uid: "error", clocator: [tag: "td", > > position: "1"]) > > > Container(uid: "4thContainer", clocator: [tag: "td", > > position: "2"]) > > { > > InputBox(uid: "yes", clocator: [tag: "input", > > position: "1", direct: "true", type: "button"], respond: ["click"]) > > InputBox(uid: "no", clocator: [tag: "input", > > position: "2", direct: "true", type: "button"], respond: ["click"]) > > } > > } > > } > > } > > > //Definition of Remove Community Summary page. > > ui.Container(uid: PARENT_PATH_REMOVE_SUMMARY, clocator: [tag: > > "div", position: "2", header: "/html/body"]) > > { > > Table(uid: "1stContainer", clocator: [tag: "table", > > position: "1"]) > > > Container(uid: "2ndContainer", clocator: [tag: "td", header: > > "/table[2]/tbody/tr"]) > > { > > InputBox(uid: "ok", clocator: [tag: "input", type: > > "button"], respond: ["click"]) > > } > > } > > } > > > Regards, > > > Setya --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
