Contributions
Re: [Resolved] Report Reference Material
Hi NFox, I'm also confused on this point. Nesting subreports is something I have done with JasperReports in other contexts, but in those places the fields and parameters available are known, and it was just a matter of arranging things correctly. I notice that this thread has now been marked Resolved, though I can find no expanded report reference section on the website. Nor can I find SOAPUI-4665, which I assume is an internal Jira issue. I'm just trying to avoid wasting time, if you folks have a put up a list of the fields exposed by each datasource, and the parameters exposed to each of the main report types when they are called, let me know. If you have decided not to pursue putting that up, please let me know! PS- I thought it might be amusing to point out that on page http://www.soapui.org/Reporting/reporti ... cture.html , you tease us with the promise of the list of fields for just a single DataSource: As you can see the subreportExpression uses a soapUI-specific "subreport:" URL-syntax which soapUI uses to locate the specified SubReport template. The fields exposed by the TestSuiteMetrics DataSource are correspondingly defined in the MetricsReport template: 1....... But someone thought better of it at the last minute, and seems to have replaced this list with the text "......." .11 years agoPlace ReadyAPI QuestionsReadyAPI Questions927Views0likes0Comments[Resolved] Report Reference Material
I'm having trouble mapping out what options are available from within reports and subreports. Looking at the various example reports included in SoapUI, and through trial-and-error myself, I have discovered some of the parameters and fields that can be used, but I've only scratched the surface. There must be a document of some kind somewhere that lays out the options. Examples of information I need and can't find: When you create a custom Report Template in Soapui (under MyProject > Reporting > Available Reports), you are asked to select a "Report Type", which can be TestCase, TestSuite, Common, etc. What are the differences? Most seem to accept the variable: $F{name} , but there are others depending on the type. Can I get a list of those for each Report type? Similarly, there are a few options when creating SubReports. Report Type and Data Source seem the most relevant. What parameters and fields are available for the different types of Data Sources? Just as an example, I tried out two subreports with Data Sources "Test Cases" and with "TestCase Results". In order to get the TestCases' names, I seem to have to declare: <field name="name" class="java.lang.String"/> For the "Test Cases" Data Source and <field name="testCaseName" class="java.lang.String"/> for the "TestCase Results" Data Source. Guessing what's available and how to get at it doesn't really seem like an acceptable option. Thanks for your help.11 years agoPlace ReadyAPI QuestionsReadyAPI Questions2.1KViews0likes3CommentsRe: Custom Report for TestSuite with DataSink
I believe we've had a misunderstanding. I'm having trouble calling subreports from within higher-level reports. I have managed to get a TestCase subreport to display correctly inside a TEstCase report, but I have not managed a TestCase subreport inside a TestSuite Report. I'm basically not very clear on what is required to make that connection in the two cases. I also don't feel I really understand how I would have to change the way I call subreports for different types of subreport datasources. For example, one of my subreports says its Data Source is "<unknown>", which works with my DataSinks, but the one that says "Data Sink" does not. I'm thinking my problem might be one of finding the right documentation. Is there a comprehensive reporting reference? The website only seems to have an example or two.11 years agoPlace ReadyAPI QuestionsReadyAPI Questions5.3KViews0likes0CommentsRe: Custom Report for TestSuite with DataSink
TestCase In each of our TestCases we have placed a DataSink (Report Data) that is placed directly after a SOAP TestRequest. The DataSink grabs two values: a) the one value is from a DataSource, taking a value from the current Excel column, 'Test Name'. b) the second value is taken from a SOAP TestRequest, which is the 'Status' after the TestRequest is executed. Then when we generate the report for a TestCase, we place this data at the end as a summary of the tests that were done. We are successfully able able to create a report based on the tutorials. TestSuite I have been attempting to follow the same methodology that the TestCaseResultsReport subreport uses. In the TestCaseResultsReport subreport, there a section that calls another subreport. This creates a summary of the TestStep Results for each of the TestCase's in the TestSuite. I have reduced the bits of code down to as simple as possible for testing purposes. Below is the working code I am using as the basis of my testing, which displays the TestStep Results for each TestCase. Custom TestSuite Report <jasperReport xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TestSuiteReport" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="535" leftMargin="30" rightMargin="30" topMargin="30" bottomMargin="30" isSummaryNewPage="true" xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <property name="ireport.encoding" value="UTF-8"/> <template>"../../styles.jrtx"</template> <detail> <band height="233"> <subreport isUsingCache="false"> <reportElement positionType="Float" isPrintRepeatedValues="false" x="1" y="0" width="535" height="32" isRemoveLineWhenBlank="true"> </reportElement> <dataSourceExpression>$P{TestSuiteTestCaseResults}.cloneDataSource()</dataSourceExpression> <subreportExpression class="java.lang.String">"subreport:CustomTestCaseResultsReport02"</subreportExpression> </subreport> </band> </detail> </jasperReport> CustomTestCaseResultsReport02 <jasperReport xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TestCaseResultsReport" language="groovy" pageWidth="535" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="535" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <template>"../../styles.jrtx"</template> <field name="testStepResults" class="net.sf.jasperreports.engine.JRDataSource"/> <detail> <band height="201"> <subreport isUsingCache="false"> <reportElement positionType="Float" isPrintRepeatedValues="false" x="0" y="2" width="535" height="40" isRemoveLineWhenBlank="true"/> <dataSourceExpression>$F{testStepResults}</dataSourceExpression> <subreportExpression class="java.lang.String">"subreport:TestStepResultsReport"</subreportExpression> </subreport> </band> </detail> </jasperReport> I have been attempting to modify the above code to reference the Datasinks. In the subreport, CustomTestCaseResultsReport02, I have tried the following: (a) Added a line trying to reference the DataSink: <field name="Report Data" class="net.sf.jasperreports.engine.JRDataSource"/> Result: Did not work (b) Tried using: <dataSourceExpression>$F{Report Data}</dataSourceExpression>, and commenting out the line after that: "<subreportExpression class ..." Also tried using $P{Report Data}. Both $F and $P did not work. My question is, how do I properly create a data source reference to my DataSinks, which are all named "Report Data"?12 years agoPlace ReadyAPI QuestionsReadyAPI Questions5.3KViews0likes0CommentsCustom Report for TestSuite with DataSink
I'm looking for some help generating a custom report when generating a TestSuite Report, and including information from DataSink's that are in each TestCase. I have successfully been able to generate custom reports for TestCase's that take information from a DataSink, using the DataSink Reporting Tutorial (http://www.soapui.org/Reporting/using-t ... asink.html). I have been unable to customize a TestSuite report that includes information from the TestCases DataSinks. What are the 'magic' bits of code that need to be included in the report and subreport code?Solved12 years agoPlace ReadyAPI QuestionsReadyAPI Questions7.1KViews0likes10CommentsRe: [Closed] Reporting using Datasinks
oh, sorry, I seem to have missed that this post was answered. Unfortunately, I'm no longer focused on reporting, so I don't have the project in that state anymore. Likely I'll come back around to working on reports at some time, and revisit this. Sorry to have left this hanging!12 years agoPlace ReadyAPI QuestionsReadyAPI Questions747Views0likes0Comments[Closed] Reporting using Datasinks
I've followed the page about this topic, http://soapui.org/Reporting/using-the-s ... asink.html and I'm finding it insufficient explanation. I've tried replicating its instructions, changing names to suit my situation, and ended up with errors. I need help! More specifics: I'm using the subreport mode of Datasink, and just drawing properties from a datasource. Within the Datasink editor, that seem to work fine. Since I'm looking to create a printable report, I followed the instructions in that section, making a testcase report and subreport, copy-pasted your xml (then painstakingly put in linebreaks so I could read it), changed the names of things to fit. I've been trying to find the sources of my errors, and so ended up deleting most things that seemed extraneous, to get to just the minimal working code. Possibly I've deleted something important. The error I'm getting now is: "ERROR:An error occured [Error loading object from URL : subreport:OurTestCase], see error log for details". ---------------Error Log: Tue Oct 09 14:09:12 EDT 2012:ERROR:net.sf.jasperreports.engine.JRException: Error loading object from URL : subreport:OurTestCase net.sf.jasperreports.engine.JRException: Error loading object from URL : subreport:OurTestCase at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:154) at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLoader.java:247) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateReport(JRFillSubreport.java:301) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:327) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:263) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2036) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624) at com.eviware.soapui.reporting.engine.jasper.GenerateJasperReport.createReport(SourceFile:467) at com.eviware.soapui.reporting.engine.jasper.GenerateJasperReport$ReportFillWorker.construct(SourceFile:428) at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:46) at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:149) at java.lang.Thread.run(Thread.java:680) Caused by: java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279) at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.<init>(ContextClassLoaderObjectInputStream.java:53) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:149) ... 19 more ----------------- The Report xml: "OurTestCase Report" <jasperReport xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="OurTestCaseReport" language="groovy" pageWidth="595" pageHeight="842" columnWidth="535" leftMargin="30" rightMargin="30" topMargin="30" bottomMargin="30" xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <property name="ireport.encoding" value="UTF-8"/> <template>"../../styles.jrtx"</template> <parameter name="HeaderLogo" class="java.lang.String" isForPrompting="false"> <defaultValueExpression>"../../logos/header_logo.jpg"</defaultValueExpression> </parameter> <pageHeader> <band height="51"> <printWhenExpression>$V{PAGE_NUMBER} == 1</printWhenExpression> <image scaleImage="Clip" hAlign="Right" isUsingCache="false" onErrorType="Blank"> <reportElement x="0" y="0" width="535" height="51"/> <imageExpression class="java.lang.String">$P{HeaderLogo}</imageExpression> </image> </band> </pageHeader> <columnHeader> <band height="77"> <printWhenExpression>$V{PAGE_NUMBER} == 1</printWhenExpression> <staticText> <reportElement style="MainHeader" x="0" y="0" width="535" height="35"/> <textElement/> <text>TestCase Results Report for</text> </staticText> <textField isStretchWithOverflow="true"> <reportElement style="MainHeader" x="0" y="35" width="535" height="40"/> <textElement/> <textFieldExpression class="java.lang.String">"${=testCase.name}"</textFieldExpression> </textField> </band> </columnHeader> <detail> <band height="281"> <subreport> <reportElement positionType="Float" isPrintRepeatedValues="false" x="0" y="31" width="535" height="30" isRemoveLineWhenBlank="true"/> <dataSourceExpression>$P{DataSink}</dataSourceExpression> <subreportExpression class="java.lang.String">"subreport:OurTestCase"</subreportExpression> </subreport> </band> </detail> </jasperReport> --------------------------- The subreport xml: "OurTestCase" <jasperReport xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="jNetrixTestCase" language="groovy" pageWidth="535" pageHeight="842" columnWidth="535" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <template>"../../styles.jrtx"</template> <field name="TestName" class="java.lang.String"/> <field name="ExpectedCode" class="java.lang.Int"/> <columnHeader> <band height="59"> <staticText> <reportElement style="ColumnHeader" x="183" y="35" width="74" height="20"/> <textElement textAlignment="Left" verticalAlignment="Middle"/> <text>Test</text> </staticText> <staticText> <reportElement style="ColumnHeader" x="265" y="35" width="200" height="20"/> <textElement textAlignment="Left" verticalAlignment="Middle"/> <text>Expected</text> </staticText> </band> </columnHeader> <detail> <band height="21"> <textField isBlankWhenNull="true"> <reportElement x="183" y="1" width="74" height="20"/> <textElement textAlignment="Left" verticalAlignment="Top"/> <textFieldExpression class="java.lang.String">$F{TestName}</textFieldExpression> </textField> <textField isStretchWithOverflow="true"> <reportElement x="265" y="1" width="200" height="20"/> <textElement textAlignment="Left" verticalAlignment="Top"/> <textFieldExpression class="java.lang.String">$F{ExpectedCode}</textFieldExpression> </textField> </band> </detail> </jasperReport> ------------------------- Any pointers would be much appreciated. Also, if there is documentation around that would help me, I'd love to have a better reference for what can be done, and the syntax to do it.12 years agoPlace ReadyAPI QuestionsReadyAPI Questions1.4KViews0likes2Comments