SOAPUI中文教程---生成测试报告
Posted 从0开始搭建django测试平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SOAPUI中文教程---生成测试报告相关的知识,希望对你有一定的参考价值。
soapUI有高度的定制可能性; soapUI Pro中可打印的报告基于非常灵活的JasperReports报告引擎。 这些报告是从JasperReports生成的特定的基于XML的模板,可以在项目和全局层面进行定制,从而使您在创建的所有报告中都能轻松获得通用的外观和感觉。
在soapUI中创建可打印报告很容易; 只需从Report对话框中的 Report Type 下拉列表中选择相应的报告,则所选报告将自动编译并按配置生成。
Quick tip: 要充分了解soapUI Pro中的报告基础架构,您应该很好地掌握JasperReports及其模板语言的工作原理,否则下面的一些解释可能很难放在内容中
1. 报告管理
soapUI项目窗口包含一个报告选项卡,其中所有全局和项目级报告都可用:
2. 报告结构
- Main Reports是reporting对话框中显示的顶层模板,可在上面的 Available Reports选项卡中显示。 主报表模板是一个标准的jasperReport模板,它接收报表范围特定的模型项作为其DataSource,例如生成LoadTest报表时,传递给报表的数据对象是WsdlLoadTest,其属性可以定义为 报告和已使用。
-
主报表可以通过标准的JasperReports子报表机制结合soapUI特定的URL前缀(“subreport:”),包括任何数量的子报表(在“子报表”选项卡中显示)。 子报表从生成报表时可用的指定DataSource获取其数据。 看看Subreports选项卡,我们可以看到所有可用的子报表及其相应的DataSource:
例如,MetricsReport子报表从ReportMetrics获取其数据,并包含在所有主要报告中,并具有以下语法:y="98" width="535" height="30" isRemoveLineWhenBlank="true"> $P{IncludeResults} ... $P{TestSuiteMetrics} "subreport:MetricsReport"
您可以看到subreportExpression使用soapUI特定的“subreport:”URL语法,soapUI用于查找指定的SubReport模板。 TestSuiteMetrics暴露的字段在MetricsReport模板中相对定义:... ...
- Templates 允许管理模板XML的公共块。 选项卡如下所示:
然后可以使用熟悉的属性扩展语法将上述示例模板插入到任何报表中: -
最后,参数允许对报告内容进行参数化,而无需重新编译底层模板。 参数选项卡允许您根据需要添加参数值:
Quick tip: 标准soapUI属性扩展可用于上述任何模板或参数值。 例如,如果要在报表中显示当前用户名,您可以在模板中的相应位置添加$ {#System#user.name}。 这提供了非常灵活的报告,但可能降低报告性能,因为soapUI缓存编译报告模板以供重用。 每当报表模板中的属性扩展中的值更改时,soapUI将需要重新编译包含的模板。
3. 报告存储
The base folders are:
- logos : 包含使用 logo: protocol图像标识引用的任何图像
- reports : 包含所有全局主要报告模板,每个子文件夹对应于“ Available Reports”选项卡中的“Report Type”列
- subreports : 包含所有全局子报表模板,每个子文件夹对应于“子报表”选项卡中的报表类型列
- templates :
Opening one of these folders reveals the following:
-
一个* .jrxml文件,它是一个jasper模板,可以在任何JasperReports编辑器或任何文本编辑器中进行编辑
-
一个* -config.xml文件(以jrxml命名),其中包含soapUI使用的模板的元数据。
样式和图像
自定义全局报告
- Create a copy of the global reports folder locally
- Apply desired customizations to the templates in this folder
- Specify the path to the folder in the global soapUI Pro Preferences:
- Reports and templates created here will be shown as global reports in the different Reporting Tabs and used as such.
项目级别报告存储
Customizing Templates
1. 创建自定义模板
-
我们首先在项目层面增加一个全新的报告; 按可用报告工具栏中的添加报告模板按钮:
-
将名称设置为“属性”,将类型设置为COMMON(意味着它将在所有级别都可用)。 按OK可以给我们:
-
这里我们可以选择我们想要自动包含在报表中的子报表。 选择PropertiesReport子报表,然后按OK。 生成的模板可以在编辑器中看到:
- 如果我们现在转到“项目概述”选项卡并添加一个属性:
- Press the Create Report button in the toolbar:
- Selecting our newly created Properties and clicking OK gives us the following report:
-
字符串null不完全符合。 我们来看看属性SubReport,在模板中我们可以看到以下内容:
- 看来,Type作为参数传递给报表。 我们为此添加一个硬编码的值:
- If we now recreate the report we get:
2. 添加参数
generating the report now gives us:
- 我们添加一个参数来设置报告标题(而不是Sample Project)。 返回模板并添加:
-
现在使用默认值将参数添加到Parameters选项卡:
-
这个参数可以在soapUI Pro中的任何级别覆盖,因为这是一个Common报告,我们可以生成它,无论我们想要什么,例如; 对于TestCase,我们可以设置ReportTitle:
1. 报表定制对象
参数对象
params.<parametername> = <value>
报告对象
- 添加要显示在报表的指标部分的指标
- 添加/修改子报表数据
2. 向report添加指标
report.addMetric( "user.name", System.getProperty( "user.name" ))
report.addMetric( "System Properties", "user.name", System.getProperty( "user.name" ), null )
which gives us:
for( name in System.properties.propertyNames() ) { report.addMetric( "System Properties", name, System.getProperty( name ), null ) }
and the result:
(and on it went for another 5 pages...)
以上是关于SOAPUI中文教程---生成测试报告的主要内容,如果未能解决你的问题,请参考以下文章