Thanks.
I can get it to work with:
ui.Window(uid: "popupwindow", name: "PopupName" ){
but I get the same issue with:
ui.Window(uid: "popupwindow", title: "PopupTitle" ){
Solved my problem for now, but any idea of why this is?
Thansk.
Rune.
On Oct 9, 3:07 pm, Jian Fang <[email protected]> wrote:
> Hi Rune,
>
> Window object has extra attributes such as id, name, and title, which are
> not
> defined in clocator, but should belong to the Window object itself. More
> details here,
>
> http://code.google.com/p/aost/wiki/UserGuideUIObjects#Window
>
> Under the hood, the name attribute is used by Selenium for popup window,
> thus,
> you need to specify the name attribute for your popup window.
>
> Please let us know if this could solve your problem.
>
> Thanks,
>
> Jian
>
> On Fri, Oct 9, 2009 at 7:54 AM, Rune <[email protected]> wrote:
>
> > Hi all.
>
> > Can't get my head around this. I have to write a test for an 3rd party
> > application that uses popups.
>
> > This example illustrates the problem:
>
> > UI elements:
>
> > //Link that creates a popup window on the main window.
> > ui.Container(uid: "mainwindow", clocator: [tag: "body"]){
> > UrlLink(uid: "makepopup", clocator: [tag: "a", text: "Click to make
> > popup"])
> > }
>
> > //The popup window
> > ui.Window(uid: "popupwindow", clocator: [title: "PopupTitle"] ){
> > }
>
> > //A Link on the popup page
> > ui.Container(uid: "popup", clocator: [tag: "body"]){
> > UrlLink(uid: "link", clocator: [tag: "a", text: "vg"])
> > }
>
> > The test:
>
> > public void generatePopup() {
> > waitForPageToLoad 10000;
> > click "mainwindow.makepopup"
> > waitForPopUp "popupwindow", 10000
> > selectWindow "popupwindow"
> > click "popup.link"
> > }
>
> > This generates:
>
> > java.lang.NullPointerException
> > at java.net.URLEncoder.encode(Unknown Source)
> > at com.thoughtworks.selenium.DefaultRemoteCommand.urlEncode
> > (DefaultRemoteCommand.java:86)
> > at
> > com.thoughtworks.selenium.DefaultRemoteCommand.getCommandURLString
> > (DefaultRemoteCommand.java:59)
> > at com.thoughtworks.selenium.HttpCommandProcessor.doCommand
> > (HttpCommandProcessor.java:86)
> > at com.thoughtworks.selenium.DefaultSelenium.waitForPopUp
> > (DefaultSelenium.java:367)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> > at java.lang.reflect.Method.invoke(Unknown Source)
> > 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:1049)
> > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
> > at groovy.lang.DelegatingMetaClass.invokeMethod
> > (DelegatingMetaClass.java:149)
> > 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:45)
> > at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall
> > (CallSiteArray.java:40)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
> > (AbstractCallSite.java:117)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
> > (AbstractCallSite.java:129)
> > at org.tellurium.access.Accessor.waitForPopUp(Accessor.groovy:194)
> > at org.tellurium.access.Accessor$waitForPopUp.call(Unknown Source)
> > at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall
> > (CallSiteArray.java:40)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
> > (AbstractCallSite.java:117)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
> > (AbstractCallSite.java:129)
> > at org.tellurium.dsl.DslContext$_waitForPopUp_closure9.doCall
> > (DslContext.groovy:167)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> > at java.lang.reflect.Method.invoke(Unknown Source)
> > 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:880)
> > at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call
> > (PogoMetaClassSite.java:39)
> > at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall
> > (CallSiteArray.java:40)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
> > (AbstractCallSite.java:117)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
> > (AbstractCallSite.java:125)
> > at org.tellurium.object.Window.waitForPopUp(Window.groovy:40)
> > at org.tellurium.object.Window$waitForPopUp.call(Unknown Source)
> > at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall
> > (CallSiteArray.java:40)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
> > (AbstractCallSite.java:117)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
> > (AbstractCallSite.java:129)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callSafe
> > (AbstractCallSite.java:97)
> > at org.tellurium.dsl.DslContext.waitForPopUp(DslContext.groovy:166)
> > at org.tellurium.dsl.DslContext$waitForPopUp.callCurrent(Unknown
> > Source)
> > at
> > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent
> > (CallSiteArray.java:44)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent
> > (AbstractCallSite.java:143)
> > at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent
> > (AbstractCallSite.java:155)
> > at com.<myproject>.tellurium.MyModule.generatePopup(MyModule.groovy:
> > 27)
> > at
> > com.<myproject>.tellurium.MyTestCase.testPopup(MyTestCase.java:34)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> > at java.lang.reflect.Method.invoke(Unknown Source)
> > at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
> > at org.junit.internal.runners.MethodRoadie.runTestMethod
> > (MethodRoadie.java:98)
> > at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:
> > 79)
> > at
> > org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters
> > (MethodRoadie.java:87)
> > at
> > org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:
> > 77)
> > at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> > at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod
> > (JUnit4ClassRunner.java:88)
> > at org.junit.internal.runners.JUnit4ClassRunner.runMethods
> > (JUnit4ClassRunner.java:51)
> > at org.junit.internal.runners.JUnit4ClassRunner$1.run
> > (JUnit4ClassRunner.java:44)
> > at org.junit.internal.runners.ClassRoadie.runUnprotected
> > (ClassRoadie.java:27)
> > at org.junit.internal.runners.ClassRoadie.runProtected
> > (ClassRoadie.java:37)
> > at org.junit.internal.runners.JUnit4ClassRunner.run
> > (JUnit4ClassRunner.java:42)
> > 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)
>
> > I'm pretty new to Tellurium, so if anyone have any clue I would be
> > greatfull
>
> > Thanks, Rune.
>
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---