E’ uscita la nuova versione 2.8.0 di XmlBlackBox.
Vedi http://code.google.com/p/xmlblackbox/downloads/list
Nuova versione di XmlBlackBox
Postati in Senza categoria su novembre 16, 2011 da xmlblackboxNuova versione aggiornata alle librerie di Selenium compatibili con Firefox 4
Postati in Senza categoria con i tag Selenium su giugno 1, 2011 da xmlblackboxLa versione 1.27 di Functional-test (http://code.google.com/p/xmlblackbox/downloads/list) è stata rilasciata configurata per supportare anche la nuova versione (la 4) di Firefox
java.lang.NoSuchMethodError xerces
Postati in XmlBlackBox su novembre 1, 2010 da xmlblackboxHo avuto questa eccezione eseguendo la suite da Eclipse dopo aver aggiornato il progetto alla nuova versione 1.0.3 di Selenium
java.lang.NoSuchMethodError: org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar([Lorg/apache/xerces/xni/parser/XMLInputSource;)V
at org.apache.xerces.jaxp.validation.XMLSchemaFactory.newSchema(Unknown Source)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:594)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:610)
at org.xmlblackbox.test.infrastructure.util.ValidateXML.generaValidatore(ValidateXML.java:96)
at org.xmlblackbox.test.infrastructure.util.ValidateXML.validate(ValidateXML.java:110)
at org.xmlblackbox.test.infrastructure.xml.XmlValidate.execute(XmlValidate.java:70)
at org.xmlblackbox.test.infrastructure.FlowControl.execute(FlowControl.java:218)
at org.xmlblackbox.test.infrastructure.FlowControl.execute(FlowControl.java:119)
at org.xmlblackbox.test.functional.examples.v13.Example001WebApp.testExecute(Example001WebApp.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Ho risolto il problema spostando le librerie di selenium più in alto come ordine nel classpath
costi
Postati in 1 su aprile 16, 2010 da xmlblackboxParlare dei costi dell’implementazione dei test è molto delicato. L’importanza dell’esistenza dei test non sempre viene ben compreso da chi gestisce i progetti, men che meno quindi la capacità di valutare il rapporto costi benefici.
La valutazione fatta sui tempi necessari alla creazione dei test è del 10%/20% rispetto al tempo di sviluppo della funzionalità da testare.
Con l’uso di XmlBlackBox i tempi possono essere ridotti notevolmente
RuntimeException: Trying XBeans path engine… Trying XQRL… Trying delegated path engine
Postati in XmlBlackBox su aprile 8, 2010 da xmlblackboxI have had this exception when I try to use xpath query with index ($this//xsd:getPerson/xsd:arg0[1]/xsd:address) in XmlBeans :
java.lang.RuntimeException: Trying XBeans path engine… Trying XQRL… Trying delegated path engine… FAILED on declare namespace xsd=’http://webservice.test.xmlblackbox.org/’;$this//xsd:getPerson/xsd:arg0[1]/xsd:address
at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:173)
at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:130)
at org.apache.xmlbeans.impl.store.Cursor._selectPath(Cursor.java:902)
at org.apache.xmlbeans.impl.store.Cursor.selectPath(Cursor.java:2634)
at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:462)
at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:446)
at org.xmlblackbox.test.infrastructure.xml.CheckInsertXmlContent.insertValueInXml(CheckInsertXmlContent.java:284)
at org.xmlblackbox.test.infrastructure.xml.CheckInsertXmlContent.execute(CheckInsertXmlContent.java:420)
at org.xmlblackbox.test.infrastructure.FlowControl.execute(FlowControl.java:198)
at org.xmlblackbox.test.infrastructure.FlowControl.execute(FlowControl.java:118)
at org.xmlblackbox.test.functional.examples.v13.Example001WebApp.testExecute(Example001WebApp.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
I solved the problem moving XmlBeans_Xpath library in the first position in the classpath and putting in the cp saxon library (in my case saxon-9-0-0-4)
NoSuchMethodException
Postati in XmlBlackBox su aprile 8, 2010 da xmlblackboxI have had this exception:
java.lang.RuntimeException: java.lang.NoSuchMethodException: org.apache.xmlbeans.impl.xpath.saxon.XBeansXPath.(java.lang.String, java.util.Map, java.lang.String)
at org.apache.xmlbeans.impl.store.SaxonXBeansDelegate.init(SaxonXBeansDelegate.java:76)
at org.apache.xmlbeans.impl.store.SaxonXBeansDelegate.createInstance(SaxonXBeansDelegate.java:84)
at org.apache.xmlbeans.impl.store.Path$SaxonPathImpl.create(Path.java:448)
at org.apache.xmlbeans.impl.store.Path.getCompiledPathSaxon(Path.java:185)
at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:115)
at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:91)
at org.apache.xmlbeans.impl.store.Cursor._selectPath(Cursor.java:902)
at org.apache.xmlbeans.impl.store.Cursor.selectPath(Cursor.java:2634)
at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:431)
at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:415)
at org.xmlblackbox.test.infrastructure.xml.CheckInsertXmlContent.insertValueInXml(CheckInsertXmlContent.java:284)
at org.xmlblackbox.test.infrastructure.xml.CheckInsertXmlContent.execute(CheckInsertXmlContent.java:420)
at org.xmlblackbox.test.infrastructure.FlowControl.execute(FlowControl.java:198)
at org.xmlblackbox.test.infrastructure.FlowControl.execute(FlowControl.java:118)
at org.xmlblackbox.test.functional.examples.v13.Example001WebApp.testExecute(Example001WebApp.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.NoSuchMethodException: org.apache.xmlbeans.impl.xpath.saxon.XBeansXPath.(java.lang.String, java.util.Map, java.lang.String)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getConstructor(Unknown Source)
at org.apache.xmlbeans.impl.store.SaxonXBeansDelegate.init(SaxonXBeansDelegate.java:64)
… 32 more
I solved the problem moving the xmlbeans library in the first position of the classpath
Verifica periodica sullo stato dell’applicazione
Postati in Continuous integration su marzo 18, 2010 da xmlblackboxL’esistenza di una suite di test permette di verificare periodicamente lo stato di “salute” dell’applicazione, eventuali errori introdotti vengono evidenziati nel giro di poco tempo e facilmente risolti. Inoltre l’introduzione di un server di continuous integration permetterebbe di monitorare ancor meglio la situazione.
Possibilità di introdurre vincoli per il commit agli sviluppatori…
Postati in Continuous integration su marzo 16, 2010 da xmlblackboxLa presenza nel progetto, di test (unit o functional) permette, se il tempo di esecuzione non è molto lungo, di obbligare l’esecuzione di tutti i test (o di un sottoinsieme a campione di essi) prima di qualsiasi commit. In questo modo i commit che creano regressioni diminuiscono notevolmente.
Nuova versione di XmlBlackBox
Postati in XmlBlackBox su marzo 14, 2010 da xmlblackboxE’ uscita la nuova versione 1.8 di XmlBlackBox.
Vedi http://code.google.com/p/xmlblackbox/downloads/list
Certezza della correttezza del deploy
Postati in Continuous integration su marzo 14, 2010 da xmlblackboxQuando una applicazione è composta da più parti e non solo ad esempio da una web application, l’esistenza di una suite completa da anche il vantaggio tra gli altri di verificare che tutte le componenti siano state correttamente installate e configurate.