Hi,

Here's the exception stacktrace:

...
groovy.lang.MissingMethodException: No signature of method: 
org.tellurium.module.communitymember.AddCommunityMemberPage.isElementPresent() 
is applicable for argument types: (java.lang.String) values: 
[communityListPageRoot.2ndContainer.cancel]
    at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:54)
    at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:90)
    at 
org.tellurium.module.CommunityList.isOnCommunityListPage(CommunityList.groovy:44)
    at 
org.tellurium.test.communitymember.TestAddCommunityMemberPage.testAddCommunityMember(TestAddCommunityMemberPage.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
    at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
    at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
    at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
    at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
    at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
    at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
    at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
    at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

com.thoughtworks.selenium.SeleniumException: ERROR: Element 
//descendant-or-self::html/body/descendant-or-self::div[1]/a not found
    at 
com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
    at 
com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
    at 
com.thoughtworks.selenium.DefaultSelenium.mouseOver(DefaultSelenium.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
    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.AbstractCallSite.call(AbstractCallSite.java:124)
    at 
org.tellurium.event.EventHandler.processingEvent(EventHandler.groovy:52)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
    at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:361)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
    at 
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
    at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
    at 
org.tellurium.event.EventHandler$_processEvents_closure1.doCall(EventHandler.groovy:73)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
    at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
    at groovy.lang.Closure.call(Closure.java:279)
    at groovy.lang.Closure.call(Closure.java:292)
    at 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1165)
    at 
org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1141)
    at org.codehaus.groovy.runtime.dgm$87.invoke(Unknown Source)
    at 
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:270)
    at 
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
    at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
    at 
org.tellurium.event.EventHandler.processEvents(EventHandler.groovy:69)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
    at 
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
    at 
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47)
    at 
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:56)
    at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:162)
    at org.tellurium.event.EventHandler.click(EventHandler.groovy:146)
    at org.tellurium.event.EventHandler$click.call(Unknown Source)
    at 
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
    at org.tellurium.event.EventHandler$click.call(Unknown Source)
    at 
org.tellurium.dsl.BaseDslContext$_click_closure3.doCall(BaseDslContext.groovy:221)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
    at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
    at 
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
    at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
    at org.tellurium.object.UrlLink.click(UrlLink.groovy:17)
    at org.tellurium.object.UrlLink$click.call(Unknown Source)
    at 
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
    at 
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
    at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
    at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callSafe(AbstractCallSite.java:89)
    at org.tellurium.dsl.BaseDslContext.click(BaseDslContext.groovy:219)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
    at 
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:77)
    at 
org.tellurium.module.communitymember.AddCommunityMemberPage.returnFromAddCommunityMemberPage(AddCommunityMemberPage.groovy:77)
    at 
org.tellurium.test.communitymember.TestAddCommunityMemberPage.returnFromAddCommunityMemberPage(TestAddCommunityMemberPage.java:216)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:37)
    at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
    at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
    at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
    at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
    at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
    at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
    at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
...

Regards,

Setya


> Do you mean Tellurium threw error at the following point?
>
> //Do something with uiModuleB here
> ...
>
> If you call uiModuleB.WHATEVER_METHOD() and it could not find it?
>
> Could post your log of the exception here.
>
> Thanks,
>
> Jian
>
> On Thu, Sep 24, 2009 at 11:19 PM, Setya <[email protected] 
> <mailto:[email protected]>> wrote:
>
>
>     Hi all,
>
>     Thank you for all your suggestions.
>
>     Unfortunately we can not use the same way as the given example by Jon.
>     Since we already put the ui definitions into their own groovy files we
>     want to reuse them without changing anything.
>
>     Following Jian suggestions, here's our test case :
>
>     UiModule uiModuleA = new UiModule();
>     uiModuleA.defineUi();
>
>     UiModule uiModuleB = new UiModule();
>     uiModuleB.defineUi();
>
>     //The following URL directs us to uiModuleA
>     TelluriumJavaTestCase#connectURL(url);
>
>     //Do something with uiModuleA here
>     ...
>
>     //The following directs us to uiModuleB
>     click <link to uiModuleB>
>
>     //Do something with uiModuleB here
>     ...
>
>      From above test case, the difference with Jian's suggestion is, we do
>     not connect another URL for uiModuleB. Our problem is when we
>     arrive at
>     uiModuleB, Tellurium seems always look for methods defined in
>     uiModuleA,
>     resulting no method found, etc.
>
>     I hope I can explain the problem clearly.
>
>
>     Regards,
>
>     Setya
>
>     > Thanks for sharing your example. Yes, that should also work. Each
>     > sub-module that starts with a "ui." will not affect each other when
>     > Tellurium does the Java object to runtime locator mapping. Of
>     course,
>     > the first UIDs must be different for them. Under the hood, Tellurium
>     > will build a separate object tree for each sub-module starting
>     with "ui.".
>     >
>     > Thanks,
>     >
>     > Jian
>     >
>     > On Thu, Sep 24, 2009 at 7:56 PM, JalexRTL <[email protected]
>     <mailto:[email protected]>
>     > <mailto:[email protected] <mailto:[email protected]>>> wrote:
>     >
>     >
>     >     I believe I had a similar project that I was working on
>     today testing
>     >     UI modules on separate web pages.  This format worked for me:
>     >
>     >     public void defineUi() {
>     >                                    ui.Container(uid:
>     >     "Main",...............{
>     >                                         Form(uid: "Login",.......
>     >                                              InputBox(uid:
>     >     "Username",......
>     >                                    }
>     >                                    ui.Container(uid:
>     >     "Root",................{
>     >                                         UrlLink(uid:
>     >     "Logout",............
>     >                                    }
>     >     }
>     >
>     >     To access the elements I had to prefix them with the
>     Container uid.
>     >     ex:
>     >     type "Main.Login.Username", username
>     >     click "Root.Logout"
>     >
>     >     -Jon Alexander-
>     >     Recommended Test Labs
>     >
>     >
>     >
>     >
>     >
>     > >
>
>
>
>
>
> >


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