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