Hey Setya
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)

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

>
com.telkom.sdp.module.community.RemoveCommunityPage.defineUi(RemoveCommunityPage.groovy:18)

This would help us debug it a bit more.

Thanks & Regards

Ajay Ravichandran


On Sun, Sep 27, 2009 at 9:58 PM, Setya <[email protected]> wrote:

>
> Hi Jian,
>
> Actually we have a parent UiModule, let's call it UiModule A which
> extends DslContext, on the other hand we also define UiModule B & C
> which extend UiModule A.
>
> The reason why we're doing this is :
>
> 1. UiModule B & C comes from the same page which is defined in UiModule A.
> 2. As I reported in previous post I can not run multiple UiModules in
> single test case (Have you solved this ?).
>
> Is it an absolute requirement to extend only DslContext class ?
>
> Thanks & Regards,
>
> Setya
>
> > What do you mean both Groovy UI modules extend the same class? They
> > should all extend the DslContext class, right? In my code sample, the
> > two UI modules, of course, also extend the same DslContext class, but
> > the test suite works fine. Wired.
> >
> > Thanks,
> >
> > Jian
> >
> > On Sun, Sep 27, 2009 at 2:36 AM, Setya <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >
> >     Hi Jian,
> >
> >     After looking deeper, the problem comes from the fact that both
> groovy
> >     UiModule in 1st & 2nd test case extend the same class.
> >
> >     Is this known limitation ?
> >
> >
> >     Regards,
> >
> >     Setya
> >
> >     > Here is a good article on JUnit.
> >     >
> >     > http://www.devx.com/Java/Article/31983/0/page/3
> >     >
> >     > On Sat, Sep 26, 2009 at 9:10 PM, Jian Fang
> >     <[email protected] <mailto:[email protected]>
> >     > <mailto:[email protected]
> >     <mailto:[email protected]>>> wrote:
> >     >
> >     >     Also tried @RunWith and @Suite as follows,
> >     >
> >     >     -------------------------------------------------
> >     >     package example.test.java;
> >     >
> >     >     import org.junit.runner.RunWith;
> >     >     import org.junit.runners.Suite;
> >     >
> >     >     @RunWith(Suite.class)
> >     >     @Suite.SuiteClasses({
> >     >             GoogleSearchTestCase.class,
> >     >             GoogleBooksListJavaTestCase.class
> >     >             })
> >     >     public class TelluriumTestSuite {
> >     >
> >     >     }
> >     >     ---------------------------------------
> >     >
> >     >     The test suite works fine for me.
> >     >
> >     >     Please check if your error is really related to the test
> >     suite itself.
> >     >
> >     >     Thanks,
> >     >
> >     >     Jian
> >     >
> >     >
> >     >
> >     >     On Sat, Sep 26, 2009 at 2:41 PM, Jian Fang
> >     >     <[email protected] <mailto:[email protected]>
> >     <mailto:[email protected]
> >     <mailto:[email protected]>>> wrote:
> >     >
> >     >         The root cause is this line,
> >     >
> >     >
> >     >         org.tellurium.exception.
> >     >         UiObjectNotFoundException: Cannot find UI Object
> >     >         communityPageRoot.return
> >     >
> >     >         Could you put a breakpoint in the following line
> >     >
> >     >
> >     >
> >
> com.telkom.sdp.module.community.CommunityPage.returnFromCommunityPage(CommunityPage.groovy:59
> >     >
> >     >         and try to debug and see why the parser "ui" cannot find
> the
> >     >         object "communityPageRoot.return"?
> >     >
> >     >         Thanks,
> >     >
> >     >         Jian
> >     >
> >     >
> >     >         On Sat, Sep 26, 2009 at 5:05 AM, Setya <[email protected]
> >     <mailto:[email protected]>
> >     >         <mailto:[email protected] <mailto:[email protected]>>>
> wrote:
> >     >
> >     >
> >     >             Hi,
> >     >
> >     >             We finally find that we can use @RunWith &
> @SuiteClasses
> >     >             annotations for
> >     >             this purpose. But when we run the tests together,
> >     the 2nd
> >     >             test case
> >     >             always throws the following exception:
> >     >
> >     >             java.lang.IllegalArgumentException: object is not an
> >     >             instance of
> >     >             declaring class
> >     >                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.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:127)
> >     >                at
> >     >
> >
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:147)
> >     >                at
> >     >
> >
> com.telkom.sdp.module.community.RemoveCommunityPage.defineUi(RemoveCommunityPage.groovy:18)
> >     >                at
> >     >
> >
> com.telkom.sdp.test.community.TestRemoveCommunityPage.displayCommunityPage(TestRemoveCommunityPage.java:29)
> >     >                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.RunBefores.evaluate(RunBefores.java:27)
> >     >                at
> >     >
> >
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> >     >                at
> >     >
> >     org.junit.runners.ParentRunner.run(ParentRunner.java:220)
> >     >                at org.junit.runners.Suite.runChild(Suite.java:115)
> >     >                at org.junit.runners.Suite.runChild(Suite.java:23)
> >     >                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)
> >     >
> >     >             org.tellurium.exception.UiObjectNotFoundException:
> >     Cannot
> >     >             find UI Object
> >     >             communityPageRoot.return
> >     >                at
> >     >
> >     sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> >     >             Method)
> >     >                at
> >     >
> >
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> >     >                at
> >     >
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> >     >                at
> >     >
> >     java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> >     >                at
> >     >
> >
> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:70)
> >     >                at
> >     >
> >
> org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:64)
> >     >                at
> >     >
> >
> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:78)
> >     >                at
> >     >
> >
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:55)
> >     >                at
> >     >
> >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:191)
> >     >                at
> >     >
> >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:199)
> >     >                at
> >     >
> >
> org.tellurium.dsl.BaseDslContext.walkToWithException(BaseDslContext.groovy:214)
> >     >                at
> >     >
> >
> org.tellurium.dsl.BaseDslContext$walkToWithException.callCurrent(Unknown
> >     >             Source)
> >     >                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
> >     >
> >
> com.telkom.sdp.module.community.CommunityPage.returnFromCommunityPage(CommunityPage.groovy:59)
> >     >                at
> >     >
> >
> com.telkom.sdp.test.community.TestRemoveCommunityPage.returnFromCommunityPage(TestRemoveCommunityPage.java:172)
> >     >                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.ParentRunner.run(ParentRunner.java:220)
> >     >                at org.junit.runners.Suite.runChild(Suite.java:115)
> >     >                at org.junit.runners.Suite.runChild(Suite.java:23)
> >     >                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)
> >     >
> >     >             Any idea ?
> >     >
> >     >
> >     >             Regards,
> >     >
> >     >             Setya
> >     >
> >     >             > Setya,
> >     >             >
> >     >             > I use ant junit batchtest for such a job.
> >     >             >
> >     >             > Zsolt
> >     >             >
> >     >             > 2009/9/26 Setya <[email protected]
> >     <mailto:[email protected]>
> >     >             <mailto:[email protected] <mailto:[email protected]>>
> >     <mailto:[email protected] <mailto:[email protected]>
> >     >             <mailto:[email protected] <mailto:[email protected]>>>>
> >     >             >
> >     >             >
> >     >             >     Hi all,
> >     >             >
> >     >             >     We have test cases that we want to include in
> >     single
> >     >             test suite, since
> >     >             >     we can not use TestSuite class provided by
> >     JUnit, is
> >     >             there any
> >     >             >     alternative class provided by Tellurium ?
> >     >             >
> >     >             >     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
-~----------~----~----~----~------~----~------~--~---

Reply via email to