Could you upgrade to 0.7.0, which should be out tomorrow? Matt is working on the Maven release for 0.7.0.
It is really difficult for me to tell what was the cause of the problem without the web app and test code. But I guess the cause might be either the DOM was changed when you run multiple tests or the page was not fully loaded when your test hit the line that caused the problem. So, my question is how about other elements in the same UI module? Were they found? 0.7.0 comes with couple utility tools such as the diagnose(String uid) commnad. http://code.google.com/p/aost/wiki/UserGuide070TelluriumAdvancedTopics#Tellurium_Powerful_Utility:_Diagnose Furthermore, you can even validate the whole UI module if you use new Tellurium Engine. http://code.google.com/p/aost/wiki/UserGuide070TelluriumAdvancedTopics#Group_Locating Thanks, Jian On Thu, May 6, 2010 at 1:41 AM, Inderpreet Kang <[email protected]>wrote: > Tellurium version = 0.6.0 > > selenium.core.versi...@version@ > selenium.rc.version=1.0.1 > selenium.rc.revision=2697 > selenium.core.revisi...@revision@ > > Tellurium config : > > /** > * For configuring Tellurium > */ > > tellurium { > //embedded selenium server configuration > embeddedserver { > //port number > port = "4444" > //whether to use multiple windows > useMultiWindows = false > //whether to run the embedded selenium server. If false, you need > to manually set up a selenium server > runInternally = true > //profile location > profile = "" > //user-extension.js file > userExtension = "target/classes/extension/user-extensions.js" > } > //event handler > eventhandler { > //whether we should check if the UI element is presented > checkElement = false > //wether we add additional events like "mouse over" > extraEvent = true > } > //data accessor > accessor { > //whether we should check if the UI element is presented > checkElement = true > } > //the configuration for the connector that connects the selenium > client to the selenium server > connector { > //selenium server host > //please change the host if you run the Selenium server remotely > serverHost = "localhost" > //server port number the client needs to connect > port = "4444" > //base URL > baseUrl = "http://localhost:8082" > //Browser setting, valid options are > // *firefox [absolute path] > // *iexplore [absolute path] > // *chrome > // *iehta > browser = "*chrome" > //user's class to hold custom selenium methods associated with > user-extensions.js > //should in full class name, for instance, > "com.mycom.CustomSelenium" > customClass = "" > } > datadriven { > dataprovider { > //specify which data reader you like the data provider to use > //the valid options include "PipeFileReader", "CVSFileReader" at > this point > reader = "PipeFileReader" > } > } > test { > //at current stage, the result report is only for tellurium data > driven testing > //we may add the result report for regular tellurium test case > result { > //specify what result reporter used for the test result > //valid options include "SimpleResultReporter", > "XMLResultReporter", and "StreamXMLResultReporter" > reporter = "XMLResultReporter" > //the output of the result > //valid options include "Console", "File" at this point > //if the option is "File", you need to specify the file name, > other wise it will use the default > //file name "TestResults.output" > output = "Console" > //test result output file name > filename = "TestResult.output" > } > exception { > //whether Tellurium captures the screenshot when exception > occurs. > //Note that the exception is the one thrown by Selenium Server > //we do not care the test logic errors here > captureScreenshot = true > //we may have a series of screenshots, specify the file name > pattern here > //Here the ? will be replaced by the timestamp and you might > also want to put > //file path in the file name pattern > filenamePattern = "Screenshot?.png" > } > } > uiobject { > builder { > //user can specify custom UI objects here by define the builder > for each UI object > //the custom UI object builder must extend UiObjectBuilder class > //and implement the following method: > // > // public build(Map map, Closure c) > // > //For container type UI object, the builder is a bit more > complicated, please > //take the TableBuilder or ListBuilder as an example > > //example: > // Icon="org.tellurium.builder.IconBuilder" > > } > } > widget { > module { > //define your widget modules here, for example Dojo or ExtJs > // included="dojo, extjs" > included = "" > } > } > } > > > On May 5, 9:31 pm, Jian Fang <[email protected]> wrote: > > This may be caused by some other problems. What versions of tellurium > core > > and custom selenium > > server are you using? > > > > Thanks, > > > > Jian > > > > On Wed, May 5, 2010 at 3:00 AM, Inderpreet Kang < > [email protected]>wrote: > > > > > > > > > Hi All, > > > > > I am getting strange problem while running the test method. I have > > > five test methods in the class. One of the test method individually > > > run successfully but when try to run with all test method, it failed > > > > > I have following ui definition > > > > > ui.Form(uid: "userForm", clocator: [tag: "form", name: "userForm", > > > method: "post", action: "/btweb/faces/pages/userManagement/ > > > createUser.jsp"]) { > > > InputBox(uid: "email", clocator: [tag: "input", type: "text", > > > name: "userForm:username", id: "userForm:username"]) > > > InputBox(uid: "phone", clocator: [tag: "input", type: "text", > > > name: "userForm:telephone", id: "userForm:telephone"]) > > > InputBox(uid: "mobilephone", clocator: [tag: "input", type: > > > "text", name: "userForm:mobileTelephone", id: > > > "userForm:mobileTelephone"]) > > > InputBox(uid: "password", clocator: [tag: "input", type: > > > "password", name: "userForm:password", id: "userForm:password"]) > > > InputBox(uid: "passwordverification", clocator: [tag: "input", > > > type: "password", name: "userForm:passwordVerification", id: > > > "userForm:passwordVerification"]) > > > Selector(uid: "role", clocator: [tag: "select", name: > > > "userForm:group", id: "userForm:group"]) > > > Selector(uid: "businessunit", clocator: [tag: "select", name: > > > "userForm:businessUnit", id: "userForm:businessUnit"]) > > > TextBox(uid: "td0", clocator: [tag: "td", text: > > > "[email protected]"]) > > > SubmitButton(uid: "submitbtn", clocator: [tag: "input", type: > > > "submit", name: "userForm:submit", id: "userForm:submit"], respond: > > > ["click"]) > > > } > > > > > ui.Container(uid: "rec", clocator: [tag: "table", class: "formGrid"]){ > > > Image(uid: "img_search", clocator: [tag: "img", src: "/btweb/ > > > ui_pics/search.gif"]) > > > } > > > ui.Container(uid: "select_rec"){ > > > UrlLink(uid: "new_org", clocator: [tag: "a", text: "select", > > > class: "ref", type: "submit", id: > > > "receiverOrganizationSearch:selectedOrg:17:testRoutingSenderSelect", > > > href: "#"], respond: ["click"]) > > > } > > > > > Method : > > > > > public void addReceiverUser() { > > > keyType "newRoleUserForm.email", '[email protected]' > > > keyType "newRoleUserForm.phone", '0501234567' > > > keyType "newRoleUserForm.mobilephone", '0451234567' > > > selectByLabel "newRoleUserForm.role", 'RECEIVER' > > > waitForElementPresent("rec.img_search", 50000) > > > click "rec.img_search" > > > click "select_rec.new_org" > > > keyType "newRoleUserForm.password", 'password' > > > keyType "newRoleUserForm.passwordverification", 'password' > > > click "newRoleUserForm.submitbtn" > > > waitForPageToLoad 30000 > > > > > } > > > > > Test Method : > > > > > @Test > > > public void addreceiver() { > > > loginModule.loginAdmin(); > > > app.clickElement("menu.usermglink"); > > > app.clickElement("manageusers.submit"); > > > app.addReceiverUser(); > > > loginModule.logOut(); > > > loginModule.loginUser("[email protected]","password"); > > > assertTrue(app.getTitle().contains(WELCOME_TITLE)); > > > } > > > > > When I run it individually , it works fine but when I run with other > > > test method it gives following exception > > > > > com.thoughtworks.selenium.SeleniumException: ERROR: Element // > > > descendant-or-self::fo...@action="/btweb/faces/pages/userManagement/ > > > createUser.jsp" and @method="post" and @name="userForm" and > > > @id="userForm"]/descendant-or-self::sele...@name="userForm:group" and > > > @id="userForm:group"] 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.mouseOut(DefaultSelenium.java: > > > 247) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > > > 39) > > > at > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > > > 25) > > > at > > > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java: > > > 88) > > > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) > > > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058) > > > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) > > > 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.AbstractCallSite.call(AbstractCallSite.java: > > > 125) > > > at > > > org.tellurium.event.EventHandler.processingEvent(EventHandler.groovy: > > > 49) > > > at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source) > > > at > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > > > 25) > > > at > > > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java: > > > 88) > > > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) > > > at > > > > > > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java: > > > 361) > > > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) > > > at > > > > > > org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java: > > > 66) > > > at > > > > > > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java: > > > 155) > > > at org.tellurium.event.EventHandler > > > $_processEvents_closure1.doCall(EventHandler.groovy:73) > > > at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) > > > at > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > > > 25) > > > at > > > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java: > > > 88) > > > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) > > > at > > > > > > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java: > > > 272) > > > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) > > > at groovy.lang.Closure.call(Closure.java:276) > > > at groovy.lang.Closure.call(Closure.java:289) > > > at > > > > > > org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java: > > > 1167) > > > at > > > > > > org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java: > > > 1143) > > > at org.codehaus.groovy.runtime.dgm$108.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: > > > 125) > > > at > > > org.tellurium.event.EventHandler.processEvents(EventHandler.groovy: > > > 69) > > > at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source) > > > at > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > > > 25) > > > 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.AbstractCallSite.callCurrent(AbstractCallSite.java: > > > 163) > > > at > org.tellurium.event.EventHandler.select(EventHandler.groovy:432) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > > > 39) > > > at > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > > > 25) > > > > > -- > > > 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]<tellurium-users%[email protected]> > <tellurium-users%[email protected]<tellurium-users%[email protected]> > > > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/tellurium-users?hl=en. > > > > -- > > 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]<tellurium-users%[email protected]> > . > > For more options, visit this group athttp:// > groups.google.com/group/tellurium-users?hl=en. > > -- > 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]<tellurium-users%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/tellurium-users?hl=en. > > -- 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.
