From lars_huttar at sil.org Mon Oct 1 14:16:35 2007 From: lars_huttar at sil.org (Lars Huttar) Date: Mon Oct 1 14:29:24 2007 Subject: [Dev] errors building tm5 Message-ID: <470163B3.8060209@sil.org> Hello, I'm new to building TestMaker. Today I did a fresh checkout from cvs (cvs co tm5), then ran "ant" in the TestMaker folder. The build failed with the following error: [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:66: package com.bitmechanic.maxq does not exist I am using JDK 1.6.0_02. More output of the build is shown below. Thanks for any suggestions. Lars Buildfile: build.xml -pre-init: [echo] ======================================================== [echo] TESTMAKER [echo] Brought to you by PushToTest. Please read license.html [echo] to understand your rights to build and distribute this [echo] software. Additional information at www.pushtotest.com [echo] ======================================================== -init-private: -init-user: -init-project: -init-macrodef-property: -do-init: initJAXB: -post-init: -init-check: -init-macrodef-javac: -init-macrodef-junit: -init-macrodef-nbjpda: -init-macrodef-debug: -init-macrodef-java: -init-presetdef-jar: init: deps-jar: -pre-pre-compile: build_jaxb_sources: [xjc] Compiling file:/C:/src/tm5/TestMaker/src/com/pushtotest/testmaker/XS Test/xml/XSTestProps.xsd [xjc] Writing output to C:\src\tm5\TestMaker\src [xjc] Compiling file:/C:/src/tm5/TestMaker/src/com/pushtotest/testmaker/XS Test/xml/TestScenario/testscenario.xsd [xjc] Writing output to C:\src\tm5\TestMaker\src [xjc] files are up to date -pre-compile: -do-compile: [javac] Compiling 379 source files to C:\src\tm5\TestMaker\build\classes [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:66: package com.bitmechanic.maxq does not exist [javac] import com.bitmechanic.maxq.ProxyServer; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:110: cannot find symbol [javac] symbol : class ProxyServer [javac] location: class com.pushtotest.testmaker.Console [javac] private ProxyServer proxy; // MaxQ proxy recorder service [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:242: cannot find symbol [javac] symbol : class ProxyServer [javac] location: class com.pushtotest.testmaker.Console ..... The last several errors were: [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \maxqhelp\TMScriptAdaptor.java:38: cannot find symbol [javac] symbol: class IScriptAdapter [javac] public class TMScriptAdaptor implements IScriptAdapter { [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \RecordHTML.java:98: cannot find symbol [javac] symbol : class SwingMain [javac] location: class com.pushtotest.testmaker.gui.NewAgentWizard.RecordHT ML [javac] private SwingMain sm = null; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:62: package com.pushtotest.tool.parser.wsdl does not exis t [javac] import com.pushtotest.tool.parser.wsdl.WSDLParser; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:63: package javax.wsdl.extensions.soap does not exist [javac] import javax.wsdl.extensions.soap.SOAPAddress; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:64: package com.ibm.wsdl.extensions.soap does not exist [javac] import com.ibm.wsdl.extensions.soap.SOAPAddressImpl; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:65: package javax.wsdl.extensions.soap does not exist [javac] import javax.wsdl.extensions.soap.SOAPBinding; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:68: package javax.wsdl does not exist [javac] import javax.wsdl.WSDLException; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:69: package javax.wsdl does not exist [javac] import javax.wsdl.Service; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:70: package javax.wsdl does not exist [javac] import javax.wsdl.Port; [javac] ^ [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [javac] 100 errors From fcohen at pushtotest.com Mon Oct 1 15:31:14 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Mon Oct 1 15:43:56 2007 Subject: [Dev] Fwd: [ptt-users] Re: patch for agentbase.py References: <4673673C-E37C-4E98-95F7-CD527332613F@pushtotest.com> Message-ID: FYI. Enhancement ideas for agentbase.py. -Frank Begin forwarded message: > From: Frank Cohen > Date: October 1, 2007 3:29:51 PM PDT > To: TestMaker users list > Subject: Re: [ptt-users] Re: patch for agentbase.py > > Dear Lars: > > Thank you for the patch. I opened a ticket to track the change: > http://bugs.pushtotest.com/ticket/163 > >>> Hello, >>> I made a few small modifications to agentbase.py to make it more >>> amenable to unit- and functional testing of web applications. >>> As far as I can tell, currently the only kinds of verification >>> supported are: >>> - going to a URL (via click or goto) succeeded, that is, returned >>> an HTTP success code >>> - the title of a page is the expected string >>> >>> Often, you want to check that data is correct, e.g. that the >>> application returned the correct data value for a query. To do >>> this, you want to check the content returned. >>> I modified the get() and post() functions to return the content >>> as a string, so that these checks could be performed more easily >>> by jython scripts. > > Your patches look good and I will make sure they are incorporated > into the next TestMaker. > > >>> The proposed patch is attached. >>> >>> It would also be useful to add utility functions for checking >>> that the returned content contains (or doesn't contain) a >>> specified string: >>> def mustContain(self, content, requiredString, diagnostic): >>> '''Assert that content contains requiredString; else raise >>> exception with diagnostic message.''' >>> def mustNotContain(self, content, requiredString, diagnostic): >>> '''Assert that content does not contain requiredString; else >>> raise exception with diagnostic message.''' >>> >>> And it would be nice to have built-in support for XPath >>> expressions, so that this doesn't have to be done by hand each time: >>> def evalXPath(self, content, xpathExpr): >>> '''Evaluate XPath expression with regard to content, and >>> return result.''' >>> This could be used either for boolean tests: >>> not(/*/body//p[contains(., 'error')]) >>> or retrieving values >>> /*/body//table[@class = 'accountDetails']/tr[td[1] = 'State']]/ >>> td[2] >>> >>> Is there already support for these kinds of things, and I missed it? >>> If not, I would be happy to work on this, although I'm sure there >>> are others who are more familiar with the relevant Python libraries. > > > These suggestions look like good and appropriate enhancements to > agentbase.py. Regex expressions are already in use in agentbase.py > to evaluate the HTTP response code (that a look at successcodes.) > Adding an XPath expression evaluator would be a good addition. > TestMaker already ships with Xerces for an XPath evaluator. > > What do you think? > > -Frank > > > > > >> >> *** agentbase.py.orig Mon Aug 13 13:59:18 2007 >> --- agentbase.py Fri Sep 28 14:08:59 2007 >> *************** >> *** 140,145 **** >> --- 140,146 ---- >> self.steps = 0 # Counter of >> steps in transaction >> >> def get( self, url, paramsin=None ): >> + '''Make GET request to URL with params, and return >> response''' >> self.params = paramsin >> self.curl = url >> >> *************** >> *** 167,175 **** >> self.paramval = "?" + self.paramval >> >> # Form request and connect >> ! self.connect( self.curl + self.paramval ) >> >> def post( self, url, params=None ): >> self.params = params >> self.curl = url >> >> --- 168,177 ---- >> self.paramval = "?" + self.paramval >> >> # Form request and connect >> ! return self.connect( self.curl + self.paramval ) >> >> def post( self, url, params=None ): >> + '''Make POST request to URL with params, and return >> response''' >> self.params = params >> self.curl = url >> >> *************** >> *** 186,195 **** >> for self.param in self.params: >> self.body.addParameter( self.param[0], self.param >> [1] ) >> >> ! self.connect( self.curl ) >> >> def connect( self, url ): >> ! ''' Checks the response for an error and logs the >> results ''' >> >> self.url = url >> >> --- 188,197 ---- >> for self.param in self.params: >> self.body.addParameter( self.param[0], self.param >> [1] ) >> >> ! return self.connect( self.curl ) >> >> def connect( self, url ): >> ! '''Connect to URL, check the response for an error, log >> the results, and return the response''' >> >> self.url = url >> >> *************** >> *** 228,234 **** >> return self.response >> >> def errMsg( self ): >> ! ''' Returns the error message showing the cause of a >> problem ''' >> return "Step " + str( self.steps ) + \ >> " got response " + str( self.response.getResponseCode >> () ) + \ >> " when requesting: '" + self.http.getURL("http") >> --- 230,236 ---- >> return self.response >> >> def errMsg( self ): >> ! ''' Return the error message showing the cause of a >> problem ''' >> return "Step " + str( self.steps ) + \ >> " got response " + str( self.response.getResponseCode >> () ) + \ >> " when requesting: '" + self.http.getURL("http") >> _______________________________________________ >> Users mailing list >> Users@lists.pushtotest.com >> http://lists.pushtotest.com/mailman/listinfo/users > > > > -- > Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 374 7426 > TestMaker: The open-source SOA test automation tool > > > -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 374 7426 TestMaker: The open-source SOA test automation tool From fcohen at pushtotest.com Mon Oct 1 16:57:26 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Mon Oct 1 17:10:05 2007 Subject: [Dev] errors building tm5 In-Reply-To: <470163B3.8060209@sil.org> References: <470163B3.8060209@sil.org> Message-ID: <017A67F3-5BCB-474C-AD4C-F5206CF3E36B@pushtotest.com> Dear Lars: I have our William and Luis Carlos looking into this. -Frank On Oct 1, 2007, at 2:16 PM, Lars Huttar wrote: > Hello, > I'm new to building TestMaker. > Today I did a fresh checkout from cvs (cvs co tm5), then ran "ant" > in the TestMaker folder. > > The build failed with the following error: > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker > \Console.java:66: package com.bitmechanic.maxq does not exist > > I am using JDK 1.6.0_02. > > More output of the build is shown below. > > Thanks for any suggestions. > > Lars > > > Buildfile: build.xml > > -pre-init: > [echo] ======================================================== > > [echo] TESTMAKER > > [echo] Brought to you by PushToTest. Please read license.html > [echo] to understand your rights to build and distribute this > [echo] software. Additional information at www.pushtotest.com > [echo] ======================================================== > > > -init-private: > > -init-user: > > -init-project: > > -init-macrodef-property: > > -do-init: > > initJAXB: > > -post-init: > > -init-check: > > -init-macrodef-javac: > > -init-macrodef-junit: > > -init-macrodef-nbjpda: > > -init-macrodef-debug: > > -init-macrodef-java: > > -init-presetdef-jar: > > init: > > deps-jar: > > -pre-pre-compile: > > build_jaxb_sources: > [xjc] Compiling file:/C:/src/tm5/TestMaker/src/com/pushtotest/ > testmaker/XS > Test/xml/XSTestProps.xsd > [xjc] Writing output to C:\src\tm5\TestMaker\src > [xjc] Compiling file:/C:/src/tm5/TestMaker/src/com/pushtotest/ > testmaker/XS > Test/xml/TestScenario/testscenario.xsd > [xjc] Writing output to C:\src\tm5\TestMaker\src > [xjc] files are up to date > > -pre-compile: > > -do-compile: > [javac] Compiling 379 source files to C:\src\tm5\TestMaker\build > \classes > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker > \Console.java:66: package com.bitmechanic.maxq does not exist > [javac] import com.bitmechanic.maxq.ProxyServer; > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker > \Console.java:110: cannot find symbol > [javac] symbol : class ProxyServer > [javac] location: class com.pushtotest.testmaker.Console > [javac] private ProxyServer proxy; // MaxQ proxy recorder > service > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker > \Console.java:242: cannot find symbol > [javac] symbol : class ProxyServer > [javac] location: class com.pushtotest.testmaker.Console > ..... > > > The last several errors were: > > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \maxqhelp\TMScriptAdaptor.java:38: cannot find symbol > [javac] symbol: class IScriptAdapter > [javac] public class TMScriptAdaptor implements IScriptAdapter { > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \RecordHTML.java:98: cannot find symbol > [javac] symbol : class SwingMain > [javac] location: class > com.pushtotest.testmaker.gui.NewAgentWizard.RecordHT > ML > [javac] private SwingMain sm = null; > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \WSDLhelp\SOAPGui.java:62: package com.pushtotest.tool.parser.wsdl > does not exis > t > [javac] import com.pushtotest.tool.parser.wsdl.WSDLParser; > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \WSDLhelp\SOAPGui.java:63: package javax.wsdl.extensions.soap does > not exist > [javac] import javax.wsdl.extensions.soap.SOAPAddress; > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \WSDLhelp\SOAPGui.java:64: package com.ibm.wsdl.extensions.soap > does not exist > [javac] import com.ibm.wsdl.extensions.soap.SOAPAddressImpl; > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \WSDLhelp\SOAPGui.java:65: package javax.wsdl.extensions.soap does > not exist > [javac] import javax.wsdl.extensions.soap.SOAPBinding; > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \WSDLhelp\SOAPGui.java:68: package javax.wsdl does not exist > [javac] import javax.wsdl.WSDLException; > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \WSDLhelp\SOAPGui.java:69: package javax.wsdl does not exist > [javac] import javax.wsdl.Service; > [javac] ^ > [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui > \NewAgentWizard > \WSDLhelp\SOAPGui.java:70: package javax.wsdl does not exist > [javac] import javax.wsdl.Port; > [javac] ^ > [javac] Note: Some input files use or override a deprecated API. > [javac] Note: Recompile with -Xlint:deprecation for details. > [javac] Note: Some input files use unchecked or unsafe operations. > [javac] Note: Recompile with -Xlint:unchecked for details. > [javac] 100 errors > > _______________________________________________ > Dev mailing list > Dev@lists.pushtotest.com > http://lists.pushtotest.com/mailman/listinfo/dev > -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 374 7426 TestMaker: The open-source SOA test automation tool From lars_huttar at sil.org Mon Oct 1 21:30:04 2007 From: lars_huttar at sil.org (Lars Huttar) Date: Mon Oct 1 21:42:51 2007 Subject: [Dev] Patch: NPE in ScriptRunner.methodFromCall(ScriptRunner.java:239) In-Reply-To: <963C9604-AFBD-4FB6-93CA-5249E390A2BF@denali.be> References: <46FD7AC1.9010307@sil.org> <46FD7F4A.4080907@sil.org> <963C9604-AFBD-4FB6-93CA-5249E390A2BF@denali.be> Message-ID: <4701C94C.2050200@sil.org> On 9/28/2007 5:45 PM, Olivier Dony wrote: > On Sep 29, 2007, at 12:25 AM, Lars Huttar wrote: > >> Well, that particular error was apparently caused by the fact that I >> was missing a langtype attribute on my element: >> > module="ethnunit" name="test1" testclass="HTTPExample" >> method="runtest" /> >> >> After supplying langtype="jython", that particular NPE goes away. >> Hopefully that could be fixed to tell the user they're missing a >> langtype attribute, if it is indeed required. >> >> Now I get a different set of errors: >> >> java.lang.NullPointerException >> at java.io.FileInputStream.(Unknown Source) >> at java.io.FileInputStream.(Unknown Source) >> at java.io.FileReader.(Unknown Source) >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argumentsFormCallScript(ScriptRunner.java:488) >> >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argumentsFromCall(ScriptRunner.java:421) >> >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setupMethodForTest(ScriptRunner.java:225) >> >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setMethods(ScriptRunner.java:213) >> >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.(ScriptRunner.java:192) >> >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestusecaseRunner.runOneTime(TestusecaseRunner.java:381) >> >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.runFunctionaltest(TestscenarioRunner.java:288) >> >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner.access$000(TestscenarioRunner.java:91) >> >> at >> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner$FunctionalTest.run(TestscenarioRunner.java:272) >> > > Could it be that the ScriptRunner cannot access your script file? > Maybe something to do with the way the file path is written? > Turns out that the problem here is that the script runner class was opening the script file, catching exceptions, and ignoring them. :-( So when the problem bites you later, all you get is the NPE. Attached is a patch to fix this, and the other problem (missing langtype not caught). Also, a typo fixed in the method name "argumentsFormCallScript()". My fix for the missing langtype attribute is probably not ideal... I tested for it everywhere that I could see it would cause a NPE. Probably would be better to test for it when the element is first processed, and reject it if there is no langtype attribute. But I don't know where to find that. Note also, I have not yet been able to build TestMaker from source, so I don't know for sure that this patch compiles or works. Lars -------------- next part -------------- *** TestMaker/src/com/pushtotest/testmaker/XSTest/xml/TestScenario/ScriptRunner.java.orig Mon Aug 13 11:35:00 2007 --- TestMaker/src/com/pushtotest/testmaker/XSTest/xml/TestScenario/ScriptRunner.java Mon Oct 1 17:28:33 2007 *************** *** 236,241 **** --- 236,245 ---- *Need all calls */ public Method methodFromCall(CallT call){ + if (!call.getLangtype()) { + System.out.println("Missing langtype attribute."); + return null; + } if (call.getLangtype().equalsIgnoreCase("java")){ return methodFromCallJava(call); } else if (call.getLangtype().equalsIgnoreCase("soapui")){ *************** *** 244,250 **** return methodFromCallTestGen(call); } else return methodFromCallScript(call); ! /*System.out.println("Unknow languaje type"); return null;*/ } --- 248,254 ---- return methodFromCallTestGen(call); } else return methodFromCallScript(call); ! /*System.out.println("Unknown language type"); return null;*/ } *************** *** 378,389 **** CallT otherCall = calls.get(i); if (otherCall.getName() != null && otherCall.getName().equalsIgnoreCase(call.getName()) && otherCall.getLangtype().equalsIgnoreCase(call.getLangtype())){ return objects.get(i); } } } ! if (call.getLangtype().equalsIgnoreCase("soapui")){ return null; } else if (call.getLangtype().equalsIgnoreCase("java")){ return objectFromCallJava(call); --- 382,397 ---- CallT otherCall = calls.get(i); if (otherCall.getName() != null && otherCall.getName().equalsIgnoreCase(call.getName()) && + otherCall.getLangtype() && otherCall.getLangtype().equalsIgnoreCase(call.getLangtype())){ return objects.get(i); } } } ! if (!call.getLangtype()) { ! System.out.println("Missing langtype attribute."); ! return objectFromCallScript(call); ! } else if (call.getLangtype().equalsIgnoreCase("soapui")) { return null; } else if (call.getLangtype().equalsIgnoreCase("java")){ return objectFromCallJava(call); *************** *** 411,424 **** public Object[] argumentsFromCall(CallT call){ ! if (call.getLangtype().equalsIgnoreCase("soapui")) return this.argumentsFromCallSoapui(call); else if (call.getLangtype().equalsIgnoreCase("java")){ return this.argumentsFromCallJava(Loader,call,dpls,actualMessageSize); } else if (call.getLangtype().equalsIgnoreCase("TestGen4Web")){ return this.argumentsFromCallTestGen(call); } else ! return argumentsFormCallScript(call,dpls,actualMessageSize); } --- 419,435 ---- public Object[] argumentsFromCall(CallT call){ ! ! if (!call.getLangtype()) { ! System.out.println("Missing langtype attribute."); ! } else if (call.getLangtype().equalsIgnoreCase("soapui")) return this.argumentsFromCallSoapui(call); else if (call.getLangtype().equalsIgnoreCase("java")){ return this.argumentsFromCallJava(Loader,call,dpls,actualMessageSize); } else if (call.getLangtype().equalsIgnoreCase("TestGen4Web")){ return this.argumentsFromCallTestGen(call); } else ! return argumentsFromCallScript(call,dpls,actualMessageSize); } *************** *** 432,451 **** private Object getScriptObject(CallT call){ for (CallT otherCall : scriptMap.keySet()){ if (otherCall.getName() != null && ! otherCall.getName().equalsIgnoreCase(call.getName()) && ! otherCall.getLangtype().equalsIgnoreCase(call.getLangtype())){ ! return scriptMap.get(otherCall); ! } } return null; } /** *Create the arguments from the script ! *Alos it create the engines ! *that is istored in my obj*/ Object myobj; ! public Object[] argumentsFormCallScript (CallT call,HashMap dpls,int amz){ Object argsScript[]; ScriptEngine engine; if ("jython".equalsIgnoreCase(call.getLangtype())){ --- 443,462 ---- private Object getScriptObject(CallT call){ for (CallT otherCall : scriptMap.keySet()){ if (otherCall.getName() != null && ! otherCall.getName().equalsIgnoreCase(call.getName()) && ! call.getLangType() && otherCall.getLangtype() && ! otherCall.getLangtype().equalsIgnoreCase(call.getLangtype())){ ! return scriptMap.get(otherCall); ! } } return null; } /** *Create the arguments from the script ! *Also create the engines that are stored in my obj */ Object myobj; ! public Object[] argumentsFromCallScript (CallT call,HashMap dpls,int amz){ Object argsScript[]; ScriptEngine engine; if ("jython".equalsIgnoreCase(call.getLangtype())){ *************** *** 483,489 **** try { java.net.URL myfile = new java.net.URL(file); file = myfile.getPath(); ! } catch (Exception e){} java.io.FileReader f = new java.io.FileReader(file); --- 494,502 ---- try { java.net.URL myfile = new java.net.URL(file); file = myfile.getPath(); ! } catch (Exception e){ ! e.printStackTrace(); ! } java.io.FileReader f = new java.io.FileReader(file); *************** *** 846,855 **** return; //Not java not implemented String lang = call.getLangtype(); ! if (lang.equalsIgnoreCase("java") && ! lang.equalsIgnoreCase("python")&& ! lang.equalsIgnoreCase("soapui") && ! lang.equalsIgnoreCase("testgen4web")) return ; if (lang.compareTo("python") == 0){ jythonCall(call); --- 859,871 ---- return; //Not java not implemented String lang = call.getLangtype(); ! // This could never happen. Did he mean to put ! before equals...()? ! // Maybe this was changed from compareTo to equalsIgnoreCase, forgetting that ! // with the former, 0 means equal, and with the latter, true means equal. ! if (!lang.equalsIgnoreCase("java") && ! !lang.equalsIgnoreCase("python")&& ! !lang.equalsIgnoreCase("soapui") && ! !lang.equalsIgnoreCase("testgen4web")) return ; if (lang.compareTo("python") == 0){ jythonCall(call); From llara at AVANTICATEC.NET Tue Oct 2 07:35:21 2007 From: llara at AVANTICATEC.NET (=?iso-8859-1?Q?Luis_Carlos_Lara_L=F3pez?=) Date: Tue Oct 2 07:52:16 2007 Subject: [Dev] errors building tm5 In-Reply-To: <470163B3.8060209@sil.org> Message-ID: <85A61B0FDDD4834EA295605C349BABAA5ABC79@dc1avantica.AVANTICA.AVANTICATEC.NET> Hi Lars I am Luis Carlos Lara One of the Test Maker engineers I think the problem you have is that the modules (Specially MaxQ) are not being compiled. There is a target in build.xml to compile the modules. It is called compile_modules This tag creates the maxq library needed in TestMaker (com.bitmechanic.maxq package) This tag is called in the tag we use to build testmaker: updata_distribution .... Please check that you are using "ant update_distribution". Also you can try "ant compile_modules" before any other tag. Anything just mail me again. I hope this was useful Luis Carlos -----Original Message----- From: dev-bounces@lists.pushtotest.com [mailto:dev-bounces@lists.pushtotest.com]On Behalf Of Lars Huttar Sent: Monday, October 01, 2007 3:17 PM To: dev@lists.pushtotest.com Subject: [Dev] errors building tm5 Hello, I'm new to building TestMaker. Today I did a fresh checkout from cvs (cvs co tm5), then ran "ant" in the TestMaker folder. The build failed with the following error: [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:66: package com.bitmechanic.maxq does not exist I am using JDK 1.6.0_02. More output of the build is shown below. Thanks for any suggestions. Lars Buildfile: build.xml -pre-init: [echo] ======================================================== [echo] TESTMAKER [echo] Brought to you by PushToTest. Please read license.html [echo] to understand your rights to build and distribute this [echo] software. Additional information at www.pushtotest.com [echo] ======================================================== -init-private: -init-user: -init-project: -init-macrodef-property: -do-init: initJAXB: -post-init: -init-check: -init-macrodef-javac: -init-macrodef-junit: -init-macrodef-nbjpda: -init-macrodef-debug: -init-macrodef-java: -init-presetdef-jar: init: deps-jar: -pre-pre-compile: build_jaxb_sources: [xjc] Compiling file:/C:/src/tm5/TestMaker/src/com/pushtotest/testmaker/XS Test/xml/XSTestProps.xsd [xjc] Writing output to C:\src\tm5\TestMaker\src [xjc] Compiling file:/C:/src/tm5/TestMaker/src/com/pushtotest/testmaker/XS Test/xml/TestScenario/testscenario.xsd [xjc] Writing output to C:\src\tm5\TestMaker\src [xjc] files are up to date -pre-compile: -do-compile: [javac] Compiling 379 source files to C:\src\tm5\TestMaker\build\classes [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:66: package com.bitmechanic.maxq does not exist [javac] import com.bitmechanic.maxq.ProxyServer; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:110: cannot find symbol [javac] symbol : class ProxyServer [javac] location: class com.pushtotest.testmaker.Console [javac] private ProxyServer proxy; // MaxQ proxy recorder service [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:242: cannot find symbol [javac] symbol : class ProxyServer [javac] location: class com.pushtotest.testmaker.Console ..... The last several errors were: [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \maxqhelp\TMScriptAdaptor.java:38: cannot find symbol [javac] symbol: class IScriptAdapter [javac] public class TMScriptAdaptor implements IScriptAdapter { [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \RecordHTML.java:98: cannot find symbol [javac] symbol : class SwingMain [javac] location: class com.pushtotest.testmaker.gui.NewAgentWizard.RecordHT ML [javac] private SwingMain sm = null; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:62: package com.pushtotest.tool.parser.wsdl does not exis t [javac] import com.pushtotest.tool.parser.wsdl.WSDLParser; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:63: package javax.wsdl.extensions.soap does not exist [javac] import javax.wsdl.extensions.soap.SOAPAddress; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:64: package com.ibm.wsdl.extensions.soap does not exist [javac] import com.ibm.wsdl.extensions.soap.SOAPAddressImpl; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:65: package javax.wsdl.extensions.soap does not exist [javac] import javax.wsdl.extensions.soap.SOAPBinding; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:68: package javax.wsdl does not exist [javac] import javax.wsdl.WSDLException; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:69: package javax.wsdl does not exist [javac] import javax.wsdl.Service; [javac] ^ [javac] C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard \WSDLhelp\SOAPGui.java:70: package javax.wsdl does not exist [javac] import javax.wsdl.Port; [javac] ^ [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [javac] 100 errors _______________________________________________ Dev mailing list Dev@lists.pushtotest.com http://lists.pushtotest.com/mailman/listinfo/dev From lars_huttar at sil.org Thu Oct 4 09:26:37 2007 From: lars_huttar at sil.org (Lars Huttar) Date: Thu Oct 4 09:40:12 2007 Subject: [Dev] errors building tm5 In-Reply-To: <017A67F3-5BCB-474C-AD4C-F5206CF3E36B@pushtotest.com> References: <470163B3.8060209@sil.org> <017A67F3-5BCB-474C-AD4C-F5206CF3E36B@pushtotest.com> Message-ID: <4705143D.3030306@sil.org> Thanks for this. Any word on the problem? Is it only me? I tried another cvs update this morning, tried a build with 'ant' and got the same results. Thanks, Lars On 10/1/2007 6:57 PM, Frank Cohen wrote: > Dear Lars: > > I have our William and Luis Carlos looking into this. > > -Frank > > > > On Oct 1, 2007, at 2:16 PM, Lars Huttar wrote: > >> Hello, >> I'm new to building TestMaker. >> Today I did a fresh checkout from cvs (cvs co tm5), then ran "ant" in >> the TestMaker folder. >> >> The build failed with the following error: >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:66: >> package com.bitmechanic.maxq does not exist >> >> I am using JDK 1.6.0_02. >> >> More output of the build is shown below. >> >> Thanks for any suggestions. >> >> Lars >> >> >> Buildfile: build.xml >> >> -pre-init: >> [echo] ======================================================== >> >> [echo] TESTMAKER >> >> [echo] Brought to you by PushToTest. Please read license.html >> [echo] to understand your rights to build and distribute this >> [echo] software. Additional information at www.pushtotest.com >> [echo] ======================================================== >> >> >> -init-private: >> >> -init-user: >> >> -init-project: >> >> -init-macrodef-property: >> >> -do-init: >> >> initJAXB: >> >> -post-init: >> >> -init-check: >> >> -init-macrodef-javac: >> >> -init-macrodef-junit: >> >> -init-macrodef-nbjpda: >> >> -init-macrodef-debug: >> >> -init-macrodef-java: >> >> -init-presetdef-jar: >> >> init: >> >> deps-jar: >> >> -pre-pre-compile: >> >> build_jaxb_sources: >> [xjc] Compiling >> file:/C:/src/tm5/TestMaker/src/com/pushtotest/testmaker/XS >> Test/xml/XSTestProps.xsd >> [xjc] Writing output to C:\src\tm5\TestMaker\src >> [xjc] Compiling >> file:/C:/src/tm5/TestMaker/src/com/pushtotest/testmaker/XS >> Test/xml/TestScenario/testscenario.xsd >> [xjc] Writing output to C:\src\tm5\TestMaker\src >> [xjc] files are up to date >> >> -pre-compile: >> >> -do-compile: >> [javac] Compiling 379 source files to >> C:\src\tm5\TestMaker\build\classes >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:66: >> package com.bitmechanic.maxq does not exist >> [javac] import com.bitmechanic.maxq.ProxyServer; >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:110: >> cannot find symbol >> [javac] symbol : class ProxyServer >> [javac] location: class com.pushtotest.testmaker.Console >> [javac] private ProxyServer proxy; // MaxQ proxy recorder >> service >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\Console.java:242: >> cannot find symbol >> [javac] symbol : class ProxyServer >> [javac] location: class com.pushtotest.testmaker.Console >> ..... >> >> >> The last several errors were: >> >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \maxqhelp\TMScriptAdaptor.java:38: cannot find symbol >> [javac] symbol: class IScriptAdapter >> [javac] public class TMScriptAdaptor implements IScriptAdapter { >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \RecordHTML.java:98: cannot find symbol >> [javac] symbol : class SwingMain >> [javac] location: class >> com.pushtotest.testmaker.gui.NewAgentWizard.RecordHT >> ML >> [javac] private SwingMain sm = null; >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \WSDLhelp\SOAPGui.java:62: package com.pushtotest.tool.parser.wsdl >> does not exis >> t >> [javac] import com.pushtotest.tool.parser.wsdl.WSDLParser; >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \WSDLhelp\SOAPGui.java:63: package javax.wsdl.extensions.soap does >> not exist >> [javac] import javax.wsdl.extensions.soap.SOAPAddress; >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \WSDLhelp\SOAPGui.java:64: package com.ibm.wsdl.extensions.soap does >> not exist >> [javac] import com.ibm.wsdl.extensions.soap.SOAPAddressImpl; >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \WSDLhelp\SOAPGui.java:65: package javax.wsdl.extensions.soap does >> not exist >> [javac] import javax.wsdl.extensions.soap.SOAPBinding; >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \WSDLhelp\SOAPGui.java:68: package javax.wsdl does not exist >> [javac] import javax.wsdl.WSDLException; >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \WSDLhelp\SOAPGui.java:69: package javax.wsdl does not exist >> [javac] import javax.wsdl.Service; >> [javac] ^ >> [javac] >> C:\src\tm5\TestMaker\src\com\pushtotest\testmaker\gui\NewAgentWizard >> \WSDLhelp\SOAPGui.java:70: package javax.wsdl does not exist >> [javac] import javax.wsdl.Port; >> [javac] ^ >> [javac] Note: Some input files use or override a deprecated API. >> [javac] Note: Recompile with -Xlint:deprecation for details. >> [javac] Note: Some input files use unchecked or unsafe operations. >> [javac] Note: Recompile with -Xlint:unchecked for details. >> [javac] 100 errors >> >> _______________________________________________ >> Dev mailing list >> Dev@lists.pushtotest.com >> http://lists.pushtotest.com/mailman/listinfo/dev >> > From olivier.dony at denali.be Thu Oct 4 11:47:54 2007 From: olivier.dony at denali.be (Olivier Dony) Date: Thu Oct 4 12:01:27 2007 Subject: [Dev] errors building tm5 In-Reply-To: <4705143D.3030306@sil.org> References: <470163B3.8060209@sil.org> <017A67F3-5BCB-474C-AD4C-F5206CF3E36B@pushtotest.com> <4705143D.3030306@sil.org> Message-ID: <9CFCCBF5-A087-43A7-82B5-8E560628345A@denali.be> On Oct 4, 2007, at 6:26 PM, Lars Huttar wrote: > Thanks for this. > Any word on the problem? Is it only me? > I tried another cvs update this morning, tried a build with 'ant' > and got the same results. Have you tried Luis Carlos' suggestions of using other build targets? (in his response to the dev list, cc'ed to you). His advice is to build the distribution using "ant update_distribution", or at least run "ant compile_modules" before building. This should make sure that modules dependencies are built before TestMaker, including MaxQ. I haven't done it for a while, but it was confusing when I first compiled TestMaker, as the default target didn't do it, and the help message mentioned non-existant targets. I read the build.xml to find available targets and guess which one to call. -- Olivier Dony Denali s.a., "Bridging the gap between Business and IT" Rue de Clairvaux 8, B-1348 Louvain-la-Neuve, Belgium Office: +32 10 43 99 51 Fax: +32 10 43 99 52 www.denali.be Legal Notice: this message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose or take any action based on this message or any information herein. If you have received this message by mistake, please advise the sender immediately by return e-mail and delete this message from your system. Thank you for your cooperation. From lars_huttar at sil.org Thu Oct 4 12:46:42 2007 From: lars_huttar at sil.org (Lars Huttar) Date: Thu Oct 4 13:00:10 2007 Subject: [Dev] errors building tm5 In-Reply-To: <9CFCCBF5-A087-43A7-82B5-8E560628345A@denali.be> References: <470163B3.8060209@sil.org> <017A67F3-5BCB-474C-AD4C-F5206CF3E36B@pushtotest.com> <4705143D.3030306@sil.org> <9CFCCBF5-A087-43A7-82B5-8E560628345A@denali.be> Message-ID: <47054322.1090800@sil.org> On 10/4/2007 1:47 PM, Olivier Dony wrote: > On Oct 4, 2007, at 6:26 PM, Lars Huttar wrote: > >> Thanks for this. >> Any word on the problem? Is it only me? >> I tried another cvs update this morning, tried a build with 'ant' and >> got the same results. > > Have you tried Luis Carlos' suggestions of using other build targets? > (in his response to the dev list, cc'ed to you). > His advice is to build the distribution using "ant > update_distribution", or at least run "ant compile_modules" before > building. > This should make sure that modules dependencies are built before > TestMaker, including MaxQ. > Thank you. Somehow I didn't receive his message. Maybe my spam filter is acting up. > I haven't done it for a while, but it was confusing when I first > compiled TestMaker, as the default target didn't do it, and the help > message mentioned non-existant targets. > I read the build.xml to find available targets and guess which one to > call. > Yes, if this is the way to build TM, it would be good to have it added to the documentation for building TM at http://docs.pushtotest.com/docs/index.html. Incidentally, on that page it says "Read the documentation in the TestMaker/docs directory to learn how to build TestMaker." But I have not found anything in the docs directory, other than that page itself, that tells how to build TM. Thanks again, Lars From lars_huttar at sil.org Thu Oct 4 13:20:19 2007 From: lars_huttar at sil.org (Lars Huttar) Date: Thu Oct 4 13:33:53 2007 Subject: [Dev] errors building tm5 In-Reply-To: <9CFCCBF5-A087-43A7-82B5-8E560628345A@denali.be> References: <470163B3.8060209@sil.org> <017A67F3-5BCB-474C-AD4C-F5206CF3E36B@pushtotest.com> <4705143D.3030306@sil.org> <9CFCCBF5-A087-43A7-82B5-8E560628345A@denali.be> Message-ID: <47054B03.1030601@sil.org> Thanks Luis Carlos, that was helpful. When I run ant update_distribution or ant compile_modules from the tm5 folder, I get fewer errors than before. But I do get the following errors, having to do with WSDL classes: ... -pre-compile: -do-compile: [javac] Compiling 301 source files to C:\src\tm5\tool\build\classes [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl\WSDLParser.java: 62: package javax.wsdl.factory does not exist [javac] import javax.wsdl.factory.WSDLFactory; [javac] ^ [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl\WSDLParser.java: 63: package javax.wsdl does not exist [javac] import javax.wsdl.Definition; etc. I'm using JDK 1.6.0_02. I wonder why the WSDL libraries are missing? Thanks, Lars Luis Carlos Lara wrote: > Hi Lars > I am Luis Carlos Lara > One of the Test Maker engineers > > I think the problem you have is that the modules (Specially MaxQ) are not being compiled. > There is a target in build.xml to compile the modules. It is called compile_modules > > > > "MaxQ: Then add MaxQ - note this is a branch of MaxQ v1.21"/> > inheritAll="false" inheritRefs="false"/> > > > This tag creates the maxq library needed in TestMaker (com.bitmechanic.maxq package) > > This tag is called in the tag we use to build testmaker: updata_distribution > > > .... > > Please check that you are using "ant update_distribution". Also you can try "ant compile_modules" before any other tag. > Anything just mail me again. > > I hope this was useful > Luis Carlos > From fcohen at pushtotest.com Fri Oct 5 15:48:23 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Fri Oct 5 16:52:06 2007 Subject: [Dev] Patch: NPE in ScriptRunner.methodFromCall(ScriptRunner.java:239) In-Reply-To: <4701C94C.2050200@sil.org> References: <46FD7AC1.9010307@sil.org> <46FD7F4A.4080907@sil.org> <963C9604-AFBD-4FB6-93CA-5249E390A2BF@denali.be> <4701C94C.2050200@sil.org> Message-ID: <6289ECF5-4894-4898-97A6-FBC37EFA2F62@pushtotest.com> Dear William and Luis Carlos: I will open a ticket on the issue Lars raises. Please take a look at the issue Lars raises and respond to the list with your ideas. Thanks. -Frank On Oct 1, 2007, at 9:30 PM, Lars Huttar wrote: > On 9/28/2007 5:45 PM, Olivier Dony wrote: >> On Sep 29, 2007, at 12:25 AM, Lars Huttar wrote: >> >>> Well, that particular error was apparently caused by the fact >>> that I was missing a langtype attribute on my element: >>> >> module="ethnunit" name="test1" testclass="HTTPExample" >>> method="runtest" /> >>> >>> After supplying langtype="jython", that particular NPE goes away. >>> Hopefully that could be fixed to tell the user they're missing a >>> langtype attribute, if it is indeed required. >>> >>> Now I get a different set of errors: >>> >>> java.lang.NullPointerException >>> at java.io.FileInputStream.(Unknown Source) >>> at java.io.FileInputStream.(Unknown Source) >>> at java.io.FileReader.(Unknown Source) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argume >>> ntsFormCallScript(ScriptRunner.java:488) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argume >>> ntsFromCall(ScriptRunner.java:421) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setupM >>> ethodForTest(ScriptRunner.java:225) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setMet >>> hods(ScriptRunner.java:213) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner. >>> (ScriptRunner.java:192) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestusecaseRunner.r >>> unOneTime(TestusecaseRunner.java:381) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner. >>> runFunctionaltest(TestscenarioRunner.java:288) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner. >>> access$000(TestscenarioRunner.java:91) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner$ >>> FunctionalTest.run(TestscenarioRunner.java:272) >> >> Could it be that the ScriptRunner cannot access your script file? >> Maybe something to do with the way the file path is written? >> > Turns out that the problem here is that the script runner class was > opening the script file, catching exceptions, and ignoring them. :-( > So when the problem bites you later, all you get is the NPE. > > Attached is a patch to fix this, and the other problem (missing > langtype not caught). > Also, a typo fixed in the method name "argumentsFormCallScript()". > > My fix for the missing langtype attribute is probably not ideal... > I tested for it everywhere that I could see it would cause a NPE. > Probably would be better to test for it when the element is > first processed, and reject it if there is no langtype attribute. > But I don't know where to find that. > > Note also, I have not yet been able to build TestMaker from source, > so I don't know for sure that this patch compiles or works. > > Lars > > > *** TestMaker/src/com/pushtotest/testmaker/XSTest/xml/TestScenario/ > ScriptRunner.java.orig Mon Aug 13 11:35:00 2007 > --- TestMaker/src/com/pushtotest/testmaker/XSTest/xml/TestScenario/ > ScriptRunner.java Mon Oct 1 17:28:33 2007 > *************** > *** 236,241 **** > --- 236,245 ---- > *Need all calls > */ > public Method methodFromCall(CallT call){ > + if (!call.getLangtype()) { > + System.out.println("Missing langtype attribute."); > + return null; > + } > if (call.getLangtype().equalsIgnoreCase("java")){ > return methodFromCallJava(call); > } else if (call.getLangtype().equalsIgnoreCase("soapui")){ > *************** > *** 244,250 **** > return methodFromCallTestGen(call); > } else > return methodFromCallScript(call); > ! /*System.out.println("Unknow languaje type"); > return null;*/ > } > > --- 248,254 ---- > return methodFromCallTestGen(call); > } else > return methodFromCallScript(call); > ! /*System.out.println("Unknown language type"); > return null;*/ > } > > *************** > *** 378,389 **** > CallT otherCall = calls.get(i); > if (otherCall.getName() != null && > otherCall.getName().equalsIgnoreCase > (call.getName()) && > otherCall.getLangtype().equalsIgnoreCase > (call.getLangtype())){ > return objects.get(i); > } > } > } > ! if (call.getLangtype().equalsIgnoreCase("soapui")){ > return null; > } else if (call.getLangtype().equalsIgnoreCase("java")){ > return objectFromCallJava(call); > --- 382,397 ---- > CallT otherCall = calls.get(i); > if (otherCall.getName() != null && > otherCall.getName().equalsIgnoreCase > (call.getName()) && > + otherCall.getLangtype() && > otherCall.getLangtype().equalsIgnoreCase > (call.getLangtype())){ > return objects.get(i); > } > } > } > ! if (!call.getLangtype()) { > ! System.out.println("Missing langtype attribute."); > ! return objectFromCallScript(call); > ! } else if (call.getLangtype().equalsIgnoreCase("soapui")) { > return null; > } else if (call.getLangtype().equalsIgnoreCase("java")){ > return objectFromCallJava(call); > *************** > *** 411,424 **** > > > public Object[] argumentsFromCall(CallT call){ > ! if (call.getLangtype().equalsIgnoreCase("soapui")) > return this.argumentsFromCallSoapui(call); > else if (call.getLangtype().equalsIgnoreCase("java")){ > return this.argumentsFromCallJava > (Loader,call,dpls,actualMessageSize); > } else if (call.getLangtype().equalsIgnoreCase > ("TestGen4Web")){ > return this.argumentsFromCallTestGen(call); > } else > ! return argumentsFormCallScript > (call,dpls,actualMessageSize); > } > > > --- 419,435 ---- > > > public Object[] argumentsFromCall(CallT call){ > ! > ! if (!call.getLangtype()) { > ! System.out.println("Missing langtype attribute."); > ! } else if (call.getLangtype().equalsIgnoreCase("soapui")) > return this.argumentsFromCallSoapui(call); > else if (call.getLangtype().equalsIgnoreCase("java")){ > return this.argumentsFromCallJava > (Loader,call,dpls,actualMessageSize); > } else if (call.getLangtype().equalsIgnoreCase > ("TestGen4Web")){ > return this.argumentsFromCallTestGen(call); > } else > ! return argumentsFromCallScript > (call,dpls,actualMessageSize); > } > > > *************** > *** 432,451 **** > private Object getScriptObject(CallT call){ > for (CallT otherCall : scriptMap.keySet()){ > if (otherCall.getName() != null && > ! otherCall.getName().equalsIgnoreCase > (call.getName()) && > ! otherCall.getLangtype().equalsIgnoreCase > (call.getLangtype())){ > ! return scriptMap.get(otherCall); > ! } > } > return null; > } > > /** > *Create the arguments from the script > ! *Alos it create the engines > ! *that is istored in my obj*/ > Object myobj; > ! public Object[] argumentsFormCallScript (CallT call,HashMap > dpls,int amz){ > Object argsScript[]; > ScriptEngine engine; > if ("jython".equalsIgnoreCase(call.getLangtype())){ > --- 443,462 ---- > private Object getScriptObject(CallT call){ > for (CallT otherCall : scriptMap.keySet()){ > if (otherCall.getName() != null && > ! otherCall.getName().equalsIgnoreCase(call.getName > ()) && > ! call.getLangType() && otherCall.getLangtype() && > ! otherCall.getLangtype().equalsIgnoreCase > (call.getLangtype())){ > ! return scriptMap.get(otherCall); > ! } > } > return null; > } > > /** > *Create the arguments from the script > ! *Also create the engines that are stored in my obj */ > Object myobj; > ! public Object[] argumentsFromCallScript (CallT call,HashMap > dpls,int amz){ > Object argsScript[]; > ScriptEngine engine; > if ("jython".equalsIgnoreCase(call.getLangtype())){ > *************** > *** 483,489 **** > try { > java.net.URL myfile = new java.net.URL(file); > file = myfile.getPath(); > ! } catch (Exception e){} > > java.io.FileReader f = new java.io.FileReader(file); > > --- 494,502 ---- > try { > java.net.URL myfile = new java.net.URL(file); > file = myfile.getPath(); > ! } catch (Exception e){ > ! e.printStackTrace(); > ! } > > java.io.FileReader f = new java.io.FileReader(file); > > *************** > *** 846,855 **** > return; > //Not java not implemented > String lang = call.getLangtype(); > ! if (lang.equalsIgnoreCase("java") && > ! lang.equalsIgnoreCase("python")&& > ! lang.equalsIgnoreCase("soapui") && > ! lang.equalsIgnoreCase("testgen4web")) > return ; > if (lang.compareTo("python") == 0){ > jythonCall(call); > --- 859,871 ---- > return; > //Not java not implemented > String lang = call.getLangtype(); > ! // This could never happen. Did he mean to put ! before > equals...()? > ! // Maybe this was changed from compareTo to > equalsIgnoreCase, forgetting that > ! // with the former, 0 means equal, and with the latter, > true means equal. > ! if (!lang.equalsIgnoreCase("java") && > ! !lang.equalsIgnoreCase("python")&& > ! !lang.equalsIgnoreCase("soapui") && > ! !lang.equalsIgnoreCase("testgen4web")) > return ; > if (lang.compareTo("python") == 0){ > jythonCall(call); > _______________________________________________ > Dev mailing list > Dev@lists.pushtotest.com > http://lists.pushtotest.com/mailman/listinfo/dev -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 374 7426 TestMaker: The open-source SOA test automation tool From fcohen at pushtotest.com Fri Oct 5 16:46:57 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Fri Oct 5 17:00:36 2007 Subject: [Dev] Patch: NPE in ScriptRunner.methodFromCall(ScriptRunner.java:239) In-Reply-To: <4701C94C.2050200@sil.org> References: <46FD7AC1.9010307@sil.org> <46FD7F4A.4080907@sil.org> <963C9604-AFBD-4FB6-93CA-5249E390A2BF@denali.be> <4701C94C.2050200@sil.org> Message-ID: I opened a ticket to track this: http://bugs.pushtotest.com/ticket/165 -Frank On Oct 1, 2007, at 9:30 PM, Lars Huttar wrote: > On 9/28/2007 5:45 PM, Olivier Dony wrote: >> On Sep 29, 2007, at 12:25 AM, Lars Huttar wrote: >> >>> Well, that particular error was apparently caused by the fact >>> that I was missing a langtype attribute on my element: >>> >> module="ethnunit" name="test1" testclass="HTTPExample" >>> method="runtest" /> >>> >>> After supplying langtype="jython", that particular NPE goes away. >>> Hopefully that could be fixed to tell the user they're missing a >>> langtype attribute, if it is indeed required. >>> >>> Now I get a different set of errors: >>> >>> java.lang.NullPointerException >>> at java.io.FileInputStream.(Unknown Source) >>> at java.io.FileInputStream.(Unknown Source) >>> at java.io.FileReader.(Unknown Source) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argume >>> ntsFormCallScript(ScriptRunner.java:488) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.argume >>> ntsFromCall(ScriptRunner.java:421) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setupM >>> ethodForTest(ScriptRunner.java:225) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner.setMet >>> hods(ScriptRunner.java:213) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.ScriptRunner. >>> (ScriptRunner.java:192) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestusecaseRunner.r >>> unOneTime(TestusecaseRunner.java:381) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner. >>> runFunctionaltest(TestscenarioRunner.java:288) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner. >>> access$000(TestscenarioRunner.java:91) >>> at >>> com.pushtotest.testmaker.XSTest.xml.TestScenario.TestscenarioRunner$ >>> FunctionalTest.run(TestscenarioRunner.java:272) >> >> Could it be that the ScriptRunner cannot access your script file? >> Maybe something to do with the way the file path is written? >> > Turns out that the problem here is that the script runner class was > opening the script file, catching exceptions, and ignoring them. :-( > So when the problem bites you later, all you get is the NPE. > > Attached is a patch to fix this, and the other problem (missing > langtype not caught). > Also, a typo fixed in the method name "argumentsFormCallScript()". > > My fix for the missing langtype attribute is probably not ideal... > I tested for it everywhere that I could see it would cause a NPE. > Probably would be better to test for it when the element is > first processed, and reject it if there is no langtype attribute. > But I don't know where to find that. > > Note also, I have not yet been able to build TestMaker from source, > so I don't know for sure that this patch compiles or works. > > Lars > > > *** TestMaker/src/com/pushtotest/testmaker/XSTest/xml/TestScenario/ > ScriptRunner.java.orig Mon Aug 13 11:35:00 2007 > --- TestMaker/src/com/pushtotest/testmaker/XSTest/xml/TestScenario/ > ScriptRunner.java Mon Oct 1 17:28:33 2007 > *************** > *** 236,241 **** > --- 236,245 ---- > *Need all calls > */ > public Method methodFromCall(CallT call){ > + if (!call.getLangtype()) { > + System.out.println("Missing langtype attribute."); > + return null; > + } > if (call.getLangtype().equalsIgnoreCase("java")){ > return methodFromCallJava(call); > } else if (call.getLangtype().equalsIgnoreCase("soapui")){ > *************** > *** 244,250 **** > return methodFromCallTestGen(call); > } else > return methodFromCallScript(call); > ! /*System.out.println("Unknow languaje type"); > return null;*/ > } > > --- 248,254 ---- > return methodFromCallTestGen(call); > } else > return methodFromCallScript(call); > ! /*System.out.println("Unknown language type"); > return null;*/ > } > > *************** > *** 378,389 **** > CallT otherCall = calls.get(i); > if (otherCall.getName() != null && > otherCall.getName().equalsIgnoreCase > (call.getName()) && > otherCall.getLangtype().equalsIgnoreCase > (call.getLangtype())){ > return objects.get(i); > } > } > } > ! if (call.getLangtype().equalsIgnoreCase("soapui")){ > return null; > } else if (call.getLangtype().equalsIgnoreCase("java")){ > return objectFromCallJava(call); > --- 382,397 ---- > CallT otherCall = calls.get(i); > if (otherCall.getName() != null && > otherCall.getName().equalsIgnoreCase > (call.getName()) && > + otherCall.getLangtype() && > otherCall.getLangtype().equalsIgnoreCase > (call.getLangtype())){ > return objects.get(i); > } > } > } > ! if (!call.getLangtype()) { > ! System.out.println("Missing langtype attribute."); > ! return objectFromCallScript(call); > ! } else if (call.getLangtype().equalsIgnoreCase("soapui")) { > return null; > } else if (call.getLangtype().equalsIgnoreCase("java")){ > return objectFromCallJava(call); > *************** > *** 411,424 **** > > > public Object[] argumentsFromCall(CallT call){ > ! if (call.getLangtype().equalsIgnoreCase("soapui")) > return this.argumentsFromCallSoapui(call); > else if (call.getLangtype().equalsIgnoreCase("java")){ > return this.argumentsFromCallJava > (Loader,call,dpls,actualMessageSize); > } else if (call.getLangtype().equalsIgnoreCase > ("TestGen4Web")){ > return this.argumentsFromCallTestGen(call); > } else > ! return argumentsFormCallScript > (call,dpls,actualMessageSize); > } > > > --- 419,435 ---- > > > public Object[] argumentsFromCall(CallT call){ > ! > ! if (!call.getLangtype()) { > ! System.out.println("Missing langtype attribute."); > ! } else if (call.getLangtype().equalsIgnoreCase("soapui")) > return this.argumentsFromCallSoapui(call); > else if (call.getLangtype().equalsIgnoreCase("java")){ > return this.argumentsFromCallJava > (Loader,call,dpls,actualMessageSize); > } else if (call.getLangtype().equalsIgnoreCase > ("TestGen4Web")){ > return this.argumentsFromCallTestGen(call); > } else > ! return argumentsFromCallScript > (call,dpls,actualMessageSize); > } > > > *************** > *** 432,451 **** > private Object getScriptObject(CallT call){ > for (CallT otherCall : scriptMap.keySet()){ > if (otherCall.getName() != null && > ! otherCall.getName().equalsIgnoreCase > (call.getName()) && > ! otherCall.getLangtype().equalsIgnoreCase > (call.getLangtype())){ > ! return scriptMap.get(otherCall); > ! } > } > return null; > } > > /** > *Create the arguments from the script > ! *Alos it create the engines > ! *that is istored in my obj*/ > Object myobj; > ! public Object[] argumentsFormCallScript (CallT call,HashMap > dpls,int amz){ > Object argsScript[]; > ScriptEngine engine; > if ("jython".equalsIgnoreCase(call.getLangtype())){ > --- 443,462 ---- > private Object getScriptObject(CallT call){ > for (CallT otherCall : scriptMap.keySet()){ > if (otherCall.getName() != null && > ! otherCall.getName().equalsIgnoreCase(call.getName > ()) && > ! call.getLangType() && otherCall.getLangtype() && > ! otherCall.getLangtype().equalsIgnoreCase > (call.getLangtype())){ > ! return scriptMap.get(otherCall); > ! } > } > return null; > } > > /** > *Create the arguments from the script > ! *Also create the engines that are stored in my obj */ > Object myobj; > ! public Object[] argumentsFromCallScript (CallT call,HashMap > dpls,int amz){ > Object argsScript[]; > ScriptEngine engine; > if ("jython".equalsIgnoreCase(call.getLangtype())){ > *************** > *** 483,489 **** > try { > java.net.URL myfile = new java.net.URL(file); > file = myfile.getPath(); > ! } catch (Exception e){} > > java.io.FileReader f = new java.io.FileReader(file); > > --- 494,502 ---- > try { > java.net.URL myfile = new java.net.URL(file); > file = myfile.getPath(); > ! } catch (Exception e){ > ! e.printStackTrace(); > ! } > > java.io.FileReader f = new java.io.FileReader(file); > > *************** > *** 846,855 **** > return; > //Not java not implemented > String lang = call.getLangtype(); > ! if (lang.equalsIgnoreCase("java") && > ! lang.equalsIgnoreCase("python")&& > ! lang.equalsIgnoreCase("soapui") && > ! lang.equalsIgnoreCase("testgen4web")) > return ; > if (lang.compareTo("python") == 0){ > jythonCall(call); > --- 859,871 ---- > return; > //Not java not implemented > String lang = call.getLangtype(); > ! // This could never happen. Did he mean to put ! before > equals...()? > ! // Maybe this was changed from compareTo to > equalsIgnoreCase, forgetting that > ! // with the former, 0 means equal, and with the latter, > true means equal. > ! if (!lang.equalsIgnoreCase("java") && > ! !lang.equalsIgnoreCase("python")&& > ! !lang.equalsIgnoreCase("soapui") && > ! !lang.equalsIgnoreCase("testgen4web")) > return ; > if (lang.compareTo("python") == 0){ > jythonCall(call); > _______________________________________________ > Dev mailing list > Dev@lists.pushtotest.com > http://lists.pushtotest.com/mailman/listinfo/dev -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 374 7426 TestMaker: The open-source SOA test automation tool From lars_huttar at sil.org Mon Oct 8 09:24:36 2007 From: lars_huttar at sil.org (Lars Huttar) Date: Mon Oct 8 10:26:48 2007 Subject: [Dev] errors building tm5 References: 470163B3.8060209@sil.org Message-ID: <470A59C4.1000605@sil.org> > > Hi Lars > I am Luis Carlos Lara > One of the Test Maker engineers > > I think the problem you have is that the modules (Specially MaxQ) are not being compiled. > There is a target in build.xml to compile the modules. It is called compile_modules > > > > "MaxQ: Then add MaxQ - note this is a branch of MaxQ v1.21"/> > inheritAll="false" inheritRefs="false"/> > > > This tag creates the maxq library needed in TestMaker (com.bitmechanic.maxq package) > > This tag is called in the tag we use to build testmaker: updata_distribution > > > .... > > Please check that you are using "ant update_distribution". Also you can try "ant compile_modules" before any other tag. > Anything just mail me again. > > I hope this was useful > Luis Carlos > Thanks again for your reply. I did a fresh cvs checkout, and then used "ant update_distribution". This gave the following errors: ... -pre-compile: -do-compile: [javac] Compiling 301 source files to C:\src\tm5\tool\build\classes [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl\WSDLParser.java: 62: package javax.wsdl.factory does not exist [javac] import javax.wsdl.factory.WSDLFactory; [javac] ^ [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl\WSDLParser.java: 63: package javax.wsdl does not exist [javac] import javax.wsdl.Definition; etc. I'm using JDK 1.6.0_02. I can't figure out why the java.wsdl.** packages are missing? I've looked at other build targets but none of them seem relevant. Thanks for your help, Lars From fcohen at pushtotest.com Mon Oct 8 14:19:22 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Mon Oct 8 14:34:20 2007 Subject: [Dev] errors building tm5 In-Reply-To: <470A59C4.1000605@sil.org> References: 470163B3.8060209@sil.org <470A59C4.1000605@sil.org> Message-ID: Hi Lars: I'm doing a fresh check-out to look into this now. -Frank On Oct 8, 2007, at 9:24 AM, Lars Huttar wrote: >> >> Hi Lars >> I am Luis Carlos Lara >> One of the Test Maker engineers >> >> I think the problem you have is that the modules (Specially MaxQ) >> are not being compiled. >> There is a target in build.xml to compile the modules. It is >> called compile_modules >> >> >> >> > "MaxQ: Then add MaxQ - note this is a branch of MaxQ v1.21"/> >> > inheritAll="false" inheritRefs="false"/> >> >> >> This tag creates the maxq library needed in TestMaker >> (com.bitmechanic.maxq package) >> >> This tag is called in the tag we use to build testmaker: >> updata_distribution >> >> >> .... >> >> Please check that you are using "ant update_distribution". Also >> you can try "ant compile_modules" before any other tag. Anything >> just mail me again. >> >> I hope this was useful >> Luis Carlos >> > Thanks again for your reply. > > I did a fresh cvs checkout, and then used "ant > update_distribution". This gave the following errors: > > ... > -pre-compile: > > -do-compile: > [javac] Compiling 301 source files to C:\src\tm5\tool\build\classes > [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl > \WSDLParser.java: > 62: package javax.wsdl.factory does not exist > [javac] import javax.wsdl.factory.WSDLFactory; > [javac] ^ > [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl > \WSDLParser.java: > 63: package javax.wsdl does not exist > [javac] import javax.wsdl.Definition; > > etc. > I'm using JDK 1.6.0_02. > > I can't figure out why the java.wsdl.** packages are missing? > I've looked at other build targets but none of them seem relevant. > > Thanks for your help, > Lars > > > > _______________________________________________ > Dev mailing list > Dev@lists.pushtotest.com > http://lists.pushtotest.com/mailman/listinfo/dev > -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Mon Oct 8 19:08:45 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Mon Oct 8 19:23:22 2007 Subject: [Dev] errors building tm5 In-Reply-To: <470A59C4.1000605@sil.org> References: 470163B3.8060209@sil.org <470A59C4.1000605@sil.org> Message-ID: Hi Lars: I used NetBeans 5.5 to checkout the TM5 project. I ran the tm5/ build.xml build_distribution target. And sure enough I see the exception below. I opened a ticket: http://bugs.pushtotest.com/ticket/167 I will get one of our engineers on this immediately. I am sorry for the problems this caused you. -Frank ============================================================== PushToTest(tm) TestMaker Distribution Generator PushToTest TestMaker is the open-source SOA governance and test automation platform. Details at http://www.pushtotest.com ============================================================== clean: Removing any previous distribution. compile_modules: ============================================== Compile All Modules Monitors: WinMonitor jar: Created dir: /Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/build Compiling 3 source files to /Users/frankcohen/dev/cvs/tm5/TestMaker/ PTTMonitor/build Building jar: /Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/ PTTMonitor.jar Building jar: /Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/ PTTMonitorClient.jar Copying 1 file to /Users/frankcohen/dev/cvs/tm5/TestMaker/lib Monitors: UnixMonitor init: deps-jar: Created dir: /Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/ UnixMonitor/build/classes Compiling 5 source files to /Users/frankcohen/dev/cvs/tm5/TestMaker/ PTTMonitor/UnixMonitor/build/classes compile: Building jar: /Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/ UnixMonitor/dist/UnixMonitor.jar To run this application from the command line without Ant, try: java -cp "/Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/ UnixMonitor/lib/log4j-1.2.13.jar:/Users/frankcohen/dev/cvs/tm5/ TestMaker/PTTMonitor/UnixMonitor/lib/swing-layout-1.0.jar:/Users/ frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/UnixMonitor/dist/ UnixMonitor.jar" com.pushtotest.testnetwork.monitor.PTTMonitor jar: Monitors: MacMonitor init: deps-jar: Created dir: /Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/ MacMonitor/build/classes Compiling 5 source files to /Users/frankcohen/dev/cvs/tm5/TestMaker/ PTTMonitor/MacMonitor/build/classes compile: Building jar: /Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/ MacMonitor/dist/MacMonitor.jar To run this application from the command line without Ant, try: java -cp "/Users/frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/ MacMonitor/lib/log4j-1.2.13.jar:/Users/frankcohen/dev/cvs/tm5/ TestMaker/PTTMonitor/MacMonitor/lib/swing-layout-1.0.jar:/Users/ frankcohen/dev/cvs/tm5/TestMaker/PTTMonitor/MacMonitor/dist/ MacMonitor.jar" com.pushtotest.testnetwork.monitor.PTTMonitor jar: MaxQ: Then add MaxQ - note this is a branch of MaxQ v1.21 compile: Created dir: /Users/frankcohen/dev/cvs/tm5/maxq-1.0-tmbranch/target/ build Compiling 32 source files to /Users/frankcohen/dev/cvs/tm5/maxq-1.0- tmbranch/target/build Copying 9 files to /Users/frankcohen/dev/cvs/tm5/maxq-1.0-tmbranch/ target/build dist: Building jar: /Users/frankcohen/dev/cvs/tm5/maxq-1.0-tmbranch/lib/ maxq.jar Copying 1 file to /Users/frankcohen/dev/cvs/tm5/TestMaker/lib TOOL: Build the Test Object Oriented Library (TOOL) ======================================================== Test Object Oriented Library (TOOL) for TestMaker Brought to you by PushToTest. Please read license.html to understand your rights to build and distribute this software. Additional information at www.pushtotest.com ======================================================== init: build_results: Compiling results log file XML schema binding Using JAXB to compile Java source against the results.xsd schema results.xsd Compiling file:/Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/ tool/xml/results.xsd Writing output to /Users/frankcohen/dev/cvs/tm5/tool/src TXLog.xsd Compiling file:/Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/ tool/xml/TXLog.xsd Writing output to /Users/frankcohen/dev/cvs/tm5/tool/src SDLog.xsd Compiling file:/Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/ tool/xml/SDLog.xsd Writing output to /Users/frankcohen/dev/cvs/tm5/tool/src Summary.xsd Compiling file:/Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/ tool/xml/Summary.xsd Writing output to /Users/frankcohen/dev/cvs/tm5/tool/src JAR the Test Object Oriented Library (TOOL) ======================================================== Test Object Oriented Library (TOOL) for TestMaker Brought to you by PushToTest. Please read license.html to understand your rights to build and distribute this software. Additional information at www.pushtotest.com ======================================================== init: deps-jar: Created dir: /Users/frankcohen/dev/cvs/tm5/tool/build/classes Compiling 301 source files to /Users/frankcohen/dev/cvs/tm5/tool/ build/classes /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:62: package javax.wsdl.factory does not exist import javax.wsdl.factory.WSDLFactory; /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:63: package javax.wsdl does not exist import javax.wsdl.Definition; /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:64: package javax.wsdl does not exist import javax.wsdl.WSDLException; /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:65: package javax.wsdl.xml does not exist import javax.wsdl.xml.WSDLReader; /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:74: cannot find symbol symbol : class WSDLFactory location: class com.pushtotest.tool.parser.wsdl.WSDLParser private WSDLFactory factory; /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:75: cannot find symbol symbol : class WSDLReader location: class com.pushtotest.tool.parser.wsdl.WSDLParser private WSDLReader reader; /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:76: cannot find symbol symbol : class Definition location: class com.pushtotest.tool.parser.wsdl.WSDLParser private Definition def; /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:81: cannot find symbol symbol : class WSDLException location: class com.pushtotest.tool.parser.wsdl.WSDLParser public WSDLParser(String wsdluri) throws WSDLException { /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:91: cannot find symbol symbol : class Definition location: class com.pushtotest.tool.parser.wsdl.WSDLParser public Definition getDefinition() { /Users/frankcohen/dev/cvs/tm5/tool/src/com/pushtotest/tool/parser/ wsdl/WSDLParser.java:82: cannot find symbol symbol : variable WSDLFactory location: class com.pushtotest.tool.parser.wsdl.WSDLParser factory = WSDLFactory.newInstance(); Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 10 errors BUILD FAILED (total time: 14 seconds) On Oct 8, 2007, at 9:24 AM, Lars Huttar wrote: >> >> Hi Lars >> I am Luis Carlos Lara >> One of the Test Maker engineers >> >> I think the problem you have is that the modules (Specially MaxQ) >> are not being compiled. >> There is a target in build.xml to compile the modules. It is >> called compile_modules >> >> >> >> > "MaxQ: Then add MaxQ - note this is a branch of MaxQ v1.21"/> >> > inheritAll="false" inheritRefs="false"/> >> >> >> This tag creates the maxq library needed in TestMaker >> (com.bitmechanic.maxq package) >> >> This tag is called in the tag we use to build testmaker: >> updata_distribution >> >> >> .... >> >> Please check that you are using "ant update_distribution". Also >> you can try "ant compile_modules" before any other tag. Anything >> just mail me again. >> >> I hope this was useful >> Luis Carlos >> > Thanks again for your reply. > > I did a fresh cvs checkout, and then used "ant > update_distribution". This gave the following errors: > > ... > -pre-compile: > > -do-compile: > [javac] Compiling 301 source files to C:\src\tm5\tool\build\classes > [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl > \WSDLParser.java: > 62: package javax.wsdl.factory does not exist > [javac] import javax.wsdl.factory.WSDLFactory; > [javac] ^ > [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl > \WSDLParser.java: > 63: package javax.wsdl does not exist > [javac] import javax.wsdl.Definition; > > etc. > I'm using JDK 1.6.0_02. > > I can't figure out why the java.wsdl.** packages are missing? > I've looked at other build targets but none of them seem relevant. > > Thanks for your help, > Lars > > > > _______________________________________________ > Dev mailing list > Dev@lists.pushtotest.com > http://lists.pushtotest.com/mailman/listinfo/dev > -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From olivier.dony at denali.be Tue Oct 9 01:54:21 2007 From: olivier.dony at denali.be (Olivier Dony) Date: Tue Oct 9 02:08:53 2007 Subject: [Dev] errors building tm5 In-Reply-To: <470A59C4.1000605@sil.org> References: 470163B3.8060209@sil.org <470A59C4.1000605@sil.org> Message-ID: <9B478737-6762-40B4-BC7A-58A17D6CD75D@denali.be> On Oct 8, 2007, at 6:24 PM, Lars Huttar wrote: > I did a fresh cvs checkout, and then used "ant > update_distribution". This gave the following errors: > > ... > -pre-compile: > > -do-compile: > [javac] Compiling 301 source files to C:\src\tm5\tool\build\classes > [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl > \WSDLParser.java: > 62: package javax.wsdl.factory does not exist > [javac] import javax.wsdl.factory.WSDLFactory; > [javac] ^ > [javac] C:\src\tm5\tool\src\com\pushtotest\tool\parser\wsdl > \WSDLParser.java: > 63: package javax.wsdl does not exist > [javac] import javax.wsdl.Definition; > > etc. > I'm using JDK 1.6.0_02. > > I can't figure out why the java.wsdl.** packages are missing? > I've looked at other build targets but none of them seem relevant. This is probably because a few jar dependencies have been moved around/removed in CVS, and wsdl4j can't be found while compiling tool and TestMaker. Until the build is fixed in CVS, a quick solution is to copy the jar file to where ant expects to find it: - You will find a version of wsdl4j inside "soapui-1.7.5-tmbranch/ lib" in the distribution: wsdl4j-1.6.2.jar - Copy it inside "TestMaker/lib", renamed as "wdsl4j.jar" - Copy it inside "tool/lib", renamed as "wdsl4j.jar" i.e. on unix: $ cd tm5 $ cp soapui-1.7.5-tmbranch/lib/wsdl4j-1.6.2.jar tool/lib/wsdl4j.jar $ cp soapui-1.7.5-tmbranch/lib/wsdl4j-1.6.2.jar TestMaker/lib/wsdl4j.jar $ ant update_distribution .... HTH, -- Olivier Dony, Support Team Denali s.a., "Bridging the gap between Business and IT" Rue de Clairvaux 8, B-1348 Louvain-la-Neuve, Belgium Office: +32 10 43 99 51 Fax: +32 10 43 99 52 www.denali.be Legal Notice: This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose or take any action based on this message or any information herein. If you have received this message by mistake, please advise the sender immediately by return e-mail and delete this message from your system. Thank you for your cooperation. From fcohen at pushtotest.com Tue Oct 9 18:44:06 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Tue Oct 9 18:58:44 2007 Subject: [Dev] Ticket 167 fixed, TM5 building again In-Reply-To: <20071009161733.56F4B43DFB9@cake.pushtotest.com> References: <20071009161733.56F4B43DFB9@cake.pushtotest.com> Message-ID: Hi Lars: I updated the tm5 project to fix the missing wsdl4j resource. TestMaker 5 builds again. It seems that when we upgraded soapUI we deleted the wsdl4j resource from the TestMaker and TOOL lib directories. Would you please confirm that you are able to build? Thanks and sorry for the problems we cause you. -Frank On Oct 9, 2007, at 9:17 AM, cvs@cake.pushtotest.com wrote: > Update of /var/cvsroot/tm5/TestMaker/nbproject > In directory cake:/tmp/cvs-serv8577/TestMaker/nbproject > > Modified Files: > project.properties > Log Message: > Proposed solution to bug 167 > > _______________________________________________ > cvscommits mailing list > cvscommits@lists.pushtotest.com > http://lists.pushtotest.com/mailman/listinfo/cvscommits -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From lars_huttar at sil.org Wed Oct 10 09:56:16 2007 From: lars_huttar at sil.org (Lars Huttar) Date: Wed Oct 10 10:11:15 2007 Subject: [Dev] Ticket 167 fixed, TM5 building again In-Reply-To: References: <20071009161733.56F4B43DFB9@cake.pushtotest.com> Message-ID: <470D0430.6020308@sil.org> Great! I am able to build. Thanks for looking into this. Lars On 10/9/2007 8:44 PM, Frank Cohen wrote: > Hi Lars: > > I updated the tm5 project to fix the missing wsdl4j resource. > TestMaker 5 builds again. It seems that when we upgraded soapUI we > deleted the wsdl4j resource from the TestMaker and TOOL lib directories. > > Would you please confirm that you are able to build? > > Thanks and sorry for the problems we cause you. > > -Frank > > > > On Oct 9, 2007, at 9:17 AM, cvs@cake.pushtotest.com wrote: > >> Update of /var/cvsroot/tm5/TestMaker/nbproject >> In directory cake:/tmp/cvs-serv8577/TestMaker/nbproject >> >> Modified Files: >> project.properties >> Log Message: >> Proposed solution to bug 167 >> >> _______________________________________________ >> cvscommits mailing list >> cvscommits@lists.pushtotest.com >> http://lists.pushtotest.com/mailman/listinfo/cvscommits > > > > -- > Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 > TestMaker open-source test automation > > > > _______________________________________________ > Dev mailing list > Dev@lists.pushtotest.com > http://lists.pushtotest.com/mailman/listinfo/dev > X-Quarantine ID /var/spool/MD-Quarantine/21/qdir-2007-10-09-21.44.14-001 > From fcohen at pushtotest.com Wed Oct 10 10:57:46 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Wed Oct 10 11:12:38 2007 Subject: [Dev] Ticket 167 fixed, TM5 building again In-Reply-To: <470D0430.6020308@sil.org> References: <20071009161733.56F4B43DFB9@cake.pushtotest.com> <470D0430.6020308@sil.org> Message-ID: <032F053F-9029-4FDE-A225-C54A09318C6A@pushtotest.com> Great. Please send patches to me and I will apply them. After getting to know you better I would be happy to offer commit privs too. Thanks for your help. -Frank On Oct 10, 2007, at 9:56 AM, Lars Huttar wrote: > Great! > I am able to build. > Thanks for looking into this. > Lars > > > On 10/9/2007 8:44 PM, Frank Cohen wrote: >> Hi Lars: >> >> I updated the tm5 project to fix the missing wsdl4j resource. >> TestMaker 5 builds again. It seems that when we upgraded soapUI we >> deleted the wsdl4j resource from the TestMaker and TOOL lib >> directories. >> >> Would you please confirm that you are able to build? >> >> Thanks and sorry for the problems we cause you. >> >> -Frank >> >> >> >> On Oct 9, 2007, at 9:17 AM, cvs@cake.pushtotest.com wrote: >> >>> Update of /var/cvsroot/tm5/TestMaker/nbproject >>> In directory cake:/tmp/cvs-serv8577/TestMaker/nbproject >>> >>> Modified Files: >>> project.properties >>> Log Message: >>> Proposed solution to bug 167 >>> >>> _______________________________________________ >>> cvscommits mailing list >>> cvscommits@lists.pushtotest.com >>> http://lists.pushtotest.com/mailman/listinfo/cvscommits >> >> >> >> -- >> Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 >> 0122 >> TestMaker open-source test automation >> >> >> >> _______________________________________________ >> Dev mailing list >> Dev@lists.pushtotest.com >> http://lists.pushtotest.com/mailman/listinfo/dev >> X-Quarantine ID /var/spool/MD-Quarantine/21/ >> qdir-2007-10-09-21.44.14-001 >> > > _______________________________________________ > Dev mailing list > Dev@lists.pushtotest.com > http://lists.pushtotest.com/mailman/listinfo/dev > -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Sat Oct 20 11:30:56 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Sat Oct 20 11:48:15 2007 Subject: [Dev] Tickets 168/169 status Message-ID: <22C48C16-E579-4AF4-BF4A-6097C36F5556@pushtotest.com> FYI: http://bugs.pushtotest.com/ticket/169 closed http://bugs.pushtotest.com/ticket/168 partially implemented, additional work needed. -Frank -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Sun Oct 21 10:09:06 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Sun Oct 21 10:28:31 2007 Subject: [Dev] Functional testing of Windows GUI desktop applications Message-ID: <59128846-38D5-489D-A524-A9D3ED897597@pushtotest.com> I have been looking into functional test development tools for Windows desktop GUI testing. There are 101+ click-and-keyboard recording utilities out there but they all suffer from not being able to handle any change in the environment. We saw one large hotel/ casino in Las Vegas pour $150,000 into script development only to have to throw away the scripts when they applied a patch to one of their applications. Our preference is to have an object-oriented framework to write test scripts that drive an application programatically. So far I found two promising technologies for Windows desktop applications. pywinauto is a Python (not Jython) based framework for programatically driving a Windows application. It has a very nice object-oriented approach. For example, consider the following code. from pywinauto import application app = application.Application.start("notepad.exe") app.notepad.TypeKeys("%FX") app.Notepad.MenuSelect("File->SaveAs") app.SaveAs.ComboBox5.Select("UTF-8") app.SaveAs.edit1.SetText("Example-utf8.txt") app.SaveAs.Save.Click() The downside to pywinauto is it does not currently support some of the custom controls in Microsoft office. Another promising approach is to combine IronPython and Microsoft UI Automation. UI Automation is Microsoft's latest attempt to provide a single API to programatically access desktop applications. The downside to both of these approaches is the lack of an available GUI-based recorder. That may be something PushToTest will need to write. What tools have you looked into? -Frank http://www.pushtotest.com/thecohenblog/functional-testing-on-windows -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Mon Oct 22 20:14:02 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Mon Oct 22 20:31:55 2007 Subject: [Dev] Global setUp and tearDown in TestScenarios Message-ID: <565FF805-3B3A-40CF-A379-ED515366A09A@pushtotest.com> I opened a new ticket for an enhancement to enables TestMaker users to operate a setUp and tearDown method that runs before and after the entire TestScenario. http://bugs.pushtotest.com/ticket/176 This came up in a testing project where an application's back-end database needed to be rolled-back after each operation the TestScenario. With the tearDown method in a scenario the method calls a database "undo" utility function. The ticket includes a design for the syntax. Please comment on the design. Thanks. -Frank -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Wed Oct 24 07:18:49 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Wed Oct 24 08:44:43 2007 Subject: [Dev] Command line bug fixed Message-ID: Dear TestMaker Developers: I fixed a bug where TestMaker would throw a NullPointerException when running a test agent script (Jython, .py) from the command line. For example: ./TestMaker.sh -commandline ./test/franktest.py I checked the solution into cvs.pushtotest.com and this will appear in the next release. -Frank -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Wed Oct 24 12:06:40 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Wed Oct 24 12:25:05 2007 Subject: [Dev] Hiring engineering resources Message-ID: <374E0DF1-B66E-4972-8305-BB81707460BF@pushtotest.com> Dear TestMaker Users: We are looking to hire more engineering resources for the projects we have. 1) Scalability Test Project with a large Las Vegas Casino/Hotel - We are already coding a scalability and stress test based on TestMaker 5. I am using Avantica in Costa Rica. I have one engineer full time and 10% of an architect. The problem is the Casino/Hotel CIO wants/ expects us to do night and evening work. Avantica only offers business hours. I am looking for someone to take a hand-off in the evening and run with it, then hand it back to Avantica for daytime coding. The coding is mostly setting up configuration files to playback DB queries and also bug fixing in TestMaker. 2) Telnet-based ERP Scalability Test - We need to implement a scalability test of a telnet-based ERP application. We will need a telnet protocol handler in TOOL and up to 15 test scripts of various facets of their app. Our need is immediate. Please let me know your interest, availability, and cost. -Frank -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Fri Oct 26 22:17:26 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Fri Oct 26 22:36:38 2007 Subject: [Dev] TestMaker 5.1 distribution this weekend Message-ID: Dear TestMaker Developers: I will be packing a distribution of TestMaker (5.1) to incorporate bug fixes and new features. I updated bug list. All the items marked as "critical" or "blocker" will go into this release: http://bugs.pushtotest.com/report/1 Please let me know your votes on this list, and let me know what is missing from the list. Thanks. -Frank -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Sun Oct 28 11:45:23 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Sun Oct 28 12:04:53 2007 Subject: [Dev] Any XUL experts on Firefox out there? Message-ID: I am trying to modify TestGen4Web 0.50 to open its Recorder toolbar on the top of the Firefox 2.0.0.8 window. Something is opening it only at the bottom of the window. I have not understood the problem enough to find a solution. For instance, I tried adding insertafter="menu-bar"... and do not see a difference, TG4W toolbar always shows at the bottom of the window. Any help is most appreciated. -Frank -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From fcohen at pushtotest.com Tue Oct 30 06:18:12 2007 From: fcohen at pushtotest.com (Frank Cohen) Date: Tue Oct 30 06:38:01 2007 Subject: [Dev] Updated bugs/enhancements list for TestMaker 5.1 Message-ID: Dear TestMaker Developers: We are making good progress towards a TestMaker 5.1 distribution. This morning I updated the bug/enhancements list. http://bugs.pushtotest.com/report/1 We intend to solve the tickets marked blocker/critical in TestMaker 5.1. Please let us know if you agree/disagree with the priority of the changes. Thanks. -Frank -- Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122 TestMaker open-source test automation From dev at pushtotest.com Wed Oct 31 10:49:42 2007 From: dev at pushtotest.com (VIAGRA ® Official Site) Date: Wed Oct 31 10:49:55 2007 Subject: [Dev] October 75% OFF Message-ID: <20071031122956.3387.qmail@your-5f6f7aab28> An HTML attachment was scrubbed... URL: http://cake.pushtotest.com/pipermail/dev/attachments/20071031/f6d665cf/attachment.htm