Hi Vivek,
I'm very glad to tell you that i'm making good progress with the pointers
you guys are providing me but the problem still persists.
As you had mentioned, there was *"X"* element at the end and i *resolved* it
by setting appropriate value for those attributes.
But the problem is still not resolved.
sorry i cannot share the actual code with you, but I will try my best to
brief it below,
<table class="main-table">
<tbody>
<tr>
<td class="selected-tab" onmouseout="somethin"
onmouseover="somethin" onclick="goto_page1">
<div class="tab-first-div">Tab1</div>
</td>
<td class="unselected-tab" onmouseover="somethin"
onmouseout="somethin" onclick="goto_page2">
<div class="*tab-second-uncoloured*"
id='tabSearch'>Tab2</div>
</td>
</tr>
</tbody>
</table>
so this is the piece of code i have to deal with.
And my task is to record the UI for Tab2 and perform a click operation on it
(Tab2) and the problem i'm facing is, when i perform a mouseover on Tab2,
the class of Tab2 is changed by JavaScript to tab-second-uncoloured.
( and i think this is the problem y the TrUMP is not able to map the
object.)
The changed Tab2 is as below
<td class="unselected-tab" onmouseover="somethin"
onmouseout="somethin" onclick='gotopage2'>
<div class="*tab-second-coloured*"
id='tabSearch'>Tab2</div>
</td>
i) My actual task is to perform a click on the Tab2.
( since the class of Tab2 is changing on the mouseover, i decided to
perform mouseover first and then click on the Tab2 )
The groovy code i have used is as below
*Module 1:*
defineUI(){
*ui*.Container(*uid*: "tabContainer", *clocator*: [tag: "*td*", class:
"unselected-tab"] ){
*Div*(*uid*: "search", *clocator*: [tag: "*div*",text: "Tab2", class:
"tab-second-uncoloured", id: "tabSearch"] )
*Div*(*uid*: "onMouseOverSearch", *clocator*: [tag: "*div*",text="Tab2",
class: "tab-second-coloured", id: "tabSearch"]
}
public void clickTab2(){
mouseOver "tabContainer.search"
click "tabContainer.onMouseOverSearch"
waitForPageToLoad 30000
}
when i call clickTab2 from a Junit Testcase, it gives me an error:
//descendant-self/unselected-tab/tab-second-uncolour...@='tabSearch] not
Found. (Its not the exact error but i hope i have conveyed you the meaning )
*
*
ii) However my code in groovy works fine when i just perform a mouseOver
operation on Tab2
( the Div tag below is the one i resolved by removing the "X" mark
during customize (as per ur sugesstion) by pointing it to appropriate
class i.e class: tab-second-uncoloured )
*Module 2:*
defineUI(){
* Div *(*uid*: "search", *clocator*: [tag: "*div*", class:
"tab-second-uncoloured", id: "tabSearch"], respond:
["mouseOver","mouseOut"])
}
public void clickTab2(){
mouseOver "search"
}
when i call clickTab2 from Junit, it performs a mouseOver operation on Tab2.
*
*
Assumptions and Conclusions:
The way i have mapped the objects in *Module 1* may be wrong, i.e having two
Div elements but pointing to the same object.
But I tried using the table format, i.e.
ui.Table() {
td...
Div ....
}
but i'm not able to figure out how to write the UIModule manually.
and also the JavaScript *onclick *is defined for <td> and not on <div>, (
please see the HTML code i have given above), so performing a click
operation on *<Div>* or ui.Div does not actually trigger a click operation
as per my assumption. And also since *onclick* is defined for *<td
class="unselected-tab">,* i think click from DSL has to be called on td, but
the problem is *td* is not a UIObject and click cannot be called on td
element.
*
*
**
I will be glad to provide you with more information if this is not clear and
please throw light on how can i *map UI Objects or write UI Modules manually
*.
Once again i'm very glad that you people are providing enormous support and
helping me to progress. Thanks to all the people who are sincerely involved
in this project.
Thanks
Prasanna
On Mon, Aug 31, 2009 at 8:08 PM, Vivek <[email protected]> wrote:
>
> TrUMP is saying that it cannot identify the element in the DOM and so
> when you are running the test, Tellurium cannot find the Div element.
> I would suggest to record the Div element and after clicking the
> Generate button. Click Customize at the top and see if that DIV
> element has "x" at the end. I suspect it does. So try to customize
> using the attributes shown in the right pane and see if it will remove
> "x".
>
> If its possible can you provide us with the HTML...
>
> Thanks,
> Vivek
>
> On Aug 31, 7:59 am, prasanna bhat <[email protected]> wrote:
> > Hi Jian,
> >
> > I'm able to record the UI objects using the TrUMP plug-in which i
> downloaded
> > from the URL below. The UI Object is actually of type <div> and the
> action
> > performed is click i.e its not a default button but a <div> element
> > performing the same action as button. I copied the generated UI Module
> from
> > TrUMP to a groovy file and tried performing click operation, an error
> > occured.
> >
> > This is the snap shot.
> >
> > defineUi() {
> >
> > ui.Div(uid: "search", clocator: [tag: "div",text: " Search ", *class*:
> > "tab-unselected-on-color
> > tab-unselected l", id: "tabSearch"])
> >
> > }
> >
> > public void clickSearch(){
> >
> > click "search"
> >
> > }
> >
> > this is the error i got in Eclipse Ganymede after running a simple Junit
> > Test:
> >
> > Error: org.tellurium.exception.UiObjectNotFoundException: Cannot find UI
> > Object search
> > 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:77)
> > at
> >
> org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:71)
> > at
> >
> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)
> > at
> >
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
> > at
> >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:192)
> > at
> >
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:200)
> > at
> >
> org.tellurium.dsl.BaseDslContext.walkToWithException(BaseDslContext.groovy:214)
> > at
> org.tellurium.dsl.BaseDslContext$walkToWithException.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 org.tellurium.dsl.BaseDslContext.click(BaseDslContext.groovy:219)
> > at org.tellurium.dsl.BaseDslContext$click.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:151)
> > at
> com.tellurium.mytest.DESFlowSearch.clickSearch(DESFlowSearch.groovy:19)
> > at
> >
> com.tellurium.mytest.DESFlowSearchTestCase.testClick(DESFlowSearchTestCase.java:25)
> > 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.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:45)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> > at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> >
> > and The Log in TrUMP 0.2.0 plug-in shows a warning as below:
> >
> > - [warn] The XPath for Node div0
> >
> //descendant-or-self::div[normalize-space(text())=normalize-space("Search")
> > and @class="tab-unselected-on-color tab-unselected l" and
> @id="tabSearch"]
> > returned 0 nodes, failed validation
> > - [warn] The XPath for Node div0
> >
> //descendant-or-self::div[normalize-space(text())=normalize-space("Search")
> > and @class="tab-unselected-on-color tab-unselected l" and
> @id="tabSearch"]
> > returned 0 nodes, failed validation
> >
> > please help me out with this, i will be expecting your reply soon.
> >
> > Thanks,
> >
> > Prasanna
> >
> > On Sat, Aug 29, 2009 at 12:52 AM, Jian Fang <[email protected]
> >wrote:
> >
> > > Thanks to Vivek for the quick fix. Please download the latest snapshot
> from
> >
> > >http://kungfuters.org/nexus/content/repositories/snapshots/tellurium/.<http://kungfuters.org/nexus/content/repositories/snapshots/tellurium/>
> ..
> >
> > > and install it. You should be able to record now.
> >
> > > The frame/iframe support still needs more work.
> >
> > > Thanks,
> >
> > > Jian
> >
> > > On Fri, Aug 28, 2009 at 9:24 AM, Mahendra Kariya <
> [email protected]
> > > > wrote:
> >
> > >> Which version of Firefox are you using? There are a few problems with
> the
> > >> latest version and we are working on it.
> >
> > >> Regards,
> > >> Mahendra Kariya
> > >>http://www.mahendrakariya.blogspot.com
> >
> > >> On Fri, Aug 28, 2009 at 12:52 PM, prasanna bhat <
> [email protected]
> > >> > wrote:
> >
> > >>> Hi,
> >
> > >>> I'm a novice tester. I have started using tellurium testing
> > >>> framework recently and i would like to thank all of you who are
> > >>> involved in this project for providing such vast amount of resources
> > >>> and information at projects website.
> > >>> I'm able to execute sample examples (using Eclipse and Junit) which
> > >>> were posted in the tellurium home page and also i tried few examples
> > >>> on my own.
> >
> > >>> The problem i'm facing is this:
> > >>> I'm able to record UI on few web pages, but i'm not able to record
> > >>> Google home Page (http://www.google.co.in) and also i need to test
> my
> > >>> web application, whose UI is also not getting recorded with TrUMP.
> >
> > >>> the log generated by TrUMP looks like this
> >
> > >>> * [error] uiModelArray is not defined, cannot generate source!
> > >>> * [warn] The root node in the Tree is null
> >
> > >>> please help me with this.
> >
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---