Hello all,
So it's been a while, and I am still no further forward with this, despite much trying.
I have managed to create a clone of the default project report, and made some changes.
I have added in new custom parameters, so that the person running the tests can input their name (code below) and added that to the footer of the page (also below), along with changing the company logo and size, page numbers within the footer, and a few other things.
<!-- Tester Username Paramater -->
<parameter name="TesterName" class="java.lang.String">
<property name="interactive" value="true"/>
<property name="label" value="Tester Name"/>
<parameterDescription>Required to put the Testers Name on the Test Report</parameterDescription>
<defaultValueExpression>"Enter Your Name"</defaultValueExpression>
</parameter>
<pageFooter>
<band height="43">
<printWhenExpression>!$P{FlowLayout}</printWhenExpression>
<textField>
<reportElement x="0" y="0" width="535" height="40" forecolor="#999999"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression class="java.lang.String">
"Created with SoapUI Pro on " + new Date() + " by " + $P{TesterName} + "\n" +
"Page " + $V{PAGE_NUMBER} <!-- + " of " + $V{PAGE_NUMBER} -->
</textFieldExpression>
</textField>
</band>
</pageFooter>
However, I am still no further forward with getting assertions included into a report, or even including a single customised sub-report into my new custom project report.
The reporting system seems very flakey, as if a single character error is made, the report fails to load, and no information is given as to what is causing the failure.
Are there any log files anywhere, which would show what part of the report are invalid??
I have also downloaded Jaspersoft Studio, and loaded the default SoapUI reports from the "[SoapUI install location]/bin/reports" folder there, to try and get a better understanding of what is going on with the reports too.
On a side note, if I load any report template in Jaspersoft Studio, and save it without making a single change, it then fails to run in SoapUI. Why is that??
I am at a bit of a loss here as to how I am supposed to get a list of assertions for each test step to display in the report.
My understanding is that I need to make an assertion SubReport, which simply shows the list of assertions for that test case, and run that as a subreport within the testStep SubReport, which runs within the main Project Report.
However, due to several issues:
- the fact that I cannot use Jaspersoft Studio to make the changes, as reports made in that application do not run in SoapUI
- there seems to be no information given when a report is invalid/fails within SoapUI
I am pretty stuck.
I've just found the SoapUI Log and Error log tabs, which give me the following error:
SoapUI Log
Fri Mar 28 12:41:17 GMT 2014:ERROR:An error occurred [net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : securityScanNames], see error log for details
Error Log
net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : securityScanNames
at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:711)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:329)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:419)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:378)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2070)
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(Unknown Source)
Caused by: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : securityScanNames
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123)
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:96)
at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:100)
at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:821)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:785)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1482)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:126)
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.JRFillSubreport.fillSubreport(JRFillSubreport.java:613)
at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205)
... 1 more
Caused by: java.lang.NoSuchMethodException: Unknown property 'securityScanNames'
Is anyone able to shed some light on either problem, or point me to some software which will help with generating such reports?
I would have thought that generating a report on what is to be tested within a project would be simple, and a core feature of the reporting process, for documentations purposes, team visibility, etc.
Many Thanks.