TestStand? 报告?生成?和?自?定义

Posted yourdirection

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestStand? 报告?生成?和?自?定义相关的知识,希望对你有一定的参考价值。

概览

自动?化?测试?系统?的?一个?常见?要求?是?生成?一份?完整?的?报表,?其中?包含?所有?结果?信息,?可?解答?以下?问题:“什么?是?序列?测试?”和“每?个?待?测?设备?(UUT)?的?测试?结果?是?什么?”。

本文?档?提供?有关?TestStand?报表?的?信息,?包括?配置?不同?的?报表?格式,?在?报表?中?添加?其他?数据,?以及?自?定义?报表。

内容

  • TestStand?如何?生成?报表
  • 自?定义?TestStand?报表
  • 结论?

TestStand?如何?生成?报表

在?了解?TestStand?报表?自?定义?提供?的?选项?之前,?请?务必?先?了解?TestStand?报表?的?生成?方式。

TestStand?使用?两?步?方法?来?生成?测试?报表:

  1. 结果?收集:在?执行?测试?的?同时,?TestStand?会?收集?测试?执行?期间?的?结果?数据。?这些?整合?结果?可?用于?所有?结果?处理?操作,?包括?报表?生成?和?数据?库?记录。
  2. 报表?生成:TestStand?报表?生成?器?使用?结果?收集?过程?中?所?收集?的?数据?来?生成?报表?文件。

下?图?为此?过程?的?示意?图:

技术图片

TestStand?在?ResultList?变量?中?收集?测试?结果,?报表?生成?器?使用?该?变量?创建?可读?的?测试?报表


?结果?收集

TestStand?执行?序列?时,?会?收集?步骤?结果?和?其他?信息,?以?在?报表?中?体现。?结果?收集?直接?由?TestStand?引擎?实现,?并且?独立?于?结果?处理?(如?报表?生成?或?数据?库?记录)?进行。


?Locals.ResultList?属性

序列?使用?所有?新?序列?中?自动?创建的Locals.ResultList来?存储?结果?数据。?TestStand?在?序列?执行?期间?填充?ResultList,?并?将?其?存储?在?内存?(RAM)?中。

ResultList?局部?变量?最初?是?一个?空?的?容器?数?组。?执行?完?每?个?步骤?后,?TestStand?会?在?数?组?末尾?附加?一个?新的?容器?元素,?用?来?存储?已?执行?步骤?的?结果,?并?使用?以下?两?个?数据?源?来?填充?数据:

  • 自?定义?结果?属性:从?已?执行?步骤?的?Step.Result?容器?中?获取。
  • 标准?结果?属性:从?TestStand?引擎?中?获取。


?自?定义?结果?属性

ResultList?中的?某些?数据?是?从?步骤?属性?中?获取?的。 默认?状态?下,?结果?收集?中?仅?包含?步骤?属性“结果?(Result)”容器?中的?属性。?例如,?步骤?结果?容器?中的?两?个?重要?元素?是:

  • Result.Status:一个?字符?串?元素,?表示?该?步骤?的?测试?结果。
  • Result.Error:一种?容器,?用于?存储?该?步骤?的?错误?信息。

步骤?属性?会?因?步骤?类型?而?异,?并且?许多?步骤?属性?仅?针对?特定?步骤?类型?存在。?例如,Step.Result.Numeric属性?特定?于“数值?限度?测试?(Numeric Limit Test)”步骤?类型。


?标准?结果?属性

除了?将?步骤?属性?复制?到?ResultList?之外,?TestStand?还?会?向?每?个?步骤?添加?一组标准?结果?属性。?TestStand?引擎?将?这些?结果?作为Step.Result.TS属性?的?子?属性?添加。 这些?属性?包括?该?步骤?的?识别?信息,?如?步骤?名称、?类型?和?定?时?信息。

下?图?显示?了?如何?使用?步骤?结果?属性?和?标准?结果?属性?来?填充?ResultList。

技术图片

结果?数据?基于?以下?两?方面?生成:?取决?于?步骤?类型?的?自?定义?结果?属性;?所有?步骤?都?相同?的?标准?结果?属性

 

配置?结果?收集

在?结果?收集?中?添加?其他?属性

您?可以?使用Execution.AddExtraResult方法?向?ResultList?中?添加?某些?步骤?属性。?利用?此?方法,?您?可以?指定?属性?查找?字符?串?(如“Step.myStepData”),?并?将?该?属性?纳入?具有?该?属性?的?所有?执行?步骤?的?结果?列表?中。 此外,?也可以?在?ResultList?中?指定?用于?该?属性?的?名称。

例如,?过程?模型?调?用?Execution.AddExtraResult?方法,?以便?在?ResultList?中?添加Step.Limits和Step.Comp值。?由于?这些?属性?不在?Step.Result?容器?中,?默认?状态?下?不会?收集?此类?属性。?由于?此?调?用?操作,?这些?属性?将?被?添加?到?执行?中?包含?这些?属性?的?所有?步骤?的?ResultList?中。

技术图片

使用?AddExtraResult?向?结果?列表?中?添加?其他?步骤?属性

 

有关?其他?报表?属性?的?更多?信息,?请?参阅?TestStand?帮助?中的自?定义?结果?属性主题。


?配置?结果?收集?时间

TestStand?结果?收集?与?是否?生成?报表?或?数据?库?记录?无关。 在?某些?情况?下,?如果?不需要?记录?结果,?则?可能?要?对?某些?步骤?或?序列?禁用?结果?收集。 以下?设置?可?用于?控制?记录?哪些?结果:

  • 禁用?所有?序列?的?结果?记录?(Disable result recording for all sequences):位于?测试?站?选项?的“执行?(Execution)”选项?卡?中,?此?设置?将?完全?禁用?所有?结果?收集。 如果?您?未?使用?TestStand?结果?处理?功能?记录?任何?数据,?请?使用?此?设置。
  • 禁用?所有?步骤?的?结果?记录?(Disable result recording for all steps):位于“序列?属性?(Sequence Properties)”中,?此?设置?将?禁用?特定?序列?的?结果?记录。
  • 步骤?结果?记录?选项?(Step Result Recording Option):位于“步骤?(Step)”属性?窗?格?的“运行?选项?(Run Options)”中,?您?可以?使用?此?选项?来?禁用?特定?步骤?的?结果?记录。 默认?状态?下,?上述“序列?(Sequence)”设置?将?覆盖?此?设置。?但是,?您?可以?选择启用?(覆盖?序列?设置)?(Enabled (Override Sequence Setting))来?记录?已?禁用?结果?记录?的?序列?中?某?个?步骤?的?结果。

如果?顾虑?测试?系统?性能?或?系统?内存?使用?情况,?请?考虑?对?频繁?执行?的?步骤?禁用?结果?记录,?以?防止?不必要?的?结果?存储。

 

报表?生成

与?作为?TestStand?引擎?一部分?的?结果?收集?过程?不同,?报表?生成?器?由?TestStand?过程?模型?通过?报表?生成?插?件?来?实现。?有关?实施?报表?生成?器?的?详细?信息,?请?参阅《报表?生成?说明》一文。

报表?生成?器?使用?结果?收集?过程?生成?的?ResultList?变量?中的?结果?数据?(有关?更多?信息,?请?参阅?本文?档?的“结果?收集”一节)?来?生成?报表。 本?节?概述?了?TestStand?中的?默认?报表?生成?器。


?标记?要?添加?到?报表?中的?数据

报表?生成?器?使用?ResultList?中?收集?的?结果?属性?的?属性?标志,?来?确定?这些?属性?是否?应?添加?到?报表?中。?利用?属性?标志,?可?配置?PropertyObjects?的?行为,?包括?如何?将?其?添加?到?测试?报表?中。

可以?通过?以下?两?种?方式?之一?来?查看?和?配置?PropertyObject?的?标志:

  1. 使用?序列?编辑?器:右?键?单击?一个?属性,?然后?选择高级?(Advanced) ? 编辑?标志?(Edit Flags),?查看“编辑?标志?(Edit Flags)”对话?框。 “新?标志?(New Flags)”字?段?会?显示?当前?所有?选定?标志?的?总和。

技术图片
?使用“编辑?标志?(Edit Flags)”对话?框?来?配置?PropertyObject?标志

  1. 使用?TestStand API:PropertyObject.GetFlags?和?PropertyObject.SetFlags?方法?可?分别?用于?获取?标志?状态?和?设置?标志?状态。

每?个?标志?都有?一个?唯一?值,?并且?属性?当前?的?标志?状态?是?所有?标志?值?的?总和。 例如,?启用PropFlags_IsLimit(值:?0x1000)?标志和PropFlags_IncludeInReport(值:?0x2000)?标志?的?属性,?标志?值?为?0x3000。?有关?每?个?标志?的?其他?信息,?请?参阅PropertyFlags?常量帮助?主题。

报表?生成?器?使用?以下?标志?来?确定?是否?应?将?收集?的?结果?添加?到?报表?中。 有关?更多?信息,?请?参阅影响?报表?的?属性?标志

  • PropFlags_IncludeInReport标志?表示?报表?中?始终?包含?该?属性。
  • PropFlags_IsLimit标志或PropFlags_IsMeasurementValue标志?表示?应?基于?当前?的?报表?选项?添加?数据。


?TestStand?报表?格式

TestStand?提供?了?许多?报表?格式,?每?种?格式?都?各有?优?缺点。 报表?生成?器?调?用?特定?于?格式?的?序列?文件?来?生成?报表?文本?(例如?ReportGen_ATML.seq)。?下表?显示?了?有关?每?种?报表?格式?的?更多?信息。

报表?格式可读性文件?大小性能解析1自?定义
ASCII (.txt)
基本?文本?报表?格式
基本 很小 最快 中等 - 需要?自?定义?解析?器,?但?格式?信息?受限
html (.html)
富?文本?报表?格式
富?文本 中等
XML (.xml)
使用?XSL?样式?表?生成?富?文本?的?纯?数据?文件?格式
富?文本 简单 - 使用?标准?XML?架构,?可?使用?XML API?轻松?解析 中等 - 使用?样式?表?自?定义?格式,?不?改变?过程?模型
ATML (.xml) - 自动?测试?标记?语言 富?文本 中等 快速 简单 - 使用?标准?XML?架构,?可?使用?XML API?轻松?解析 中等 - 使用?样式?表?自?定义?格式,?不?改变?过程?模型

1您?可以?使用?报表?文件?进行?自动?报表?分析,?尤其是?XML?和?ATML?报表?文件,?但?使用?数据?库?进行?自动?分析?通常?会?更加?有效。 请?参阅数据?库?记录帮助?主题,?详细?了解?数据?库?记录?的?TestStand?功能。


?有关?为?您?的?应用?选择?最佳?报表?生成?策略?的?更多?详细?信息,?请?参阅《选择?适当的?NI TestStand?报表?生成?策略》


?即时?生成?报表

如果?在“报表?选项?(Report Options)”对话?框?的“目录?(Contents)”选项?卡?上?启用“即时?报表?生成?(On-?The-?Fly Reporting)”选项,?过程?模型?将?在?执行?的?同时?逐步?生成?报表,?而?不必?等到?UUT?测试?完成。?使用?即时?报表?生成?时,?可以?单击“执行?(Execution)”窗口?中的“报表?(Report)”窗?格,?在?执行?过程?中?查看?报表。?由于?报表?在?测试?执行?时?更新,?因此?报表?视图?会?在?执行?测试?序列?时?定期?更新,?显示?新?结果。

通常,?对于?历时?较?久?的?测试,?如果?内存?使用?和?数据?丢失?防护?的?重要?程度?高于?测试?吞吐量,?即时?报表?生成?则?是?更好?的?选择。  

优点缺点
  • 可在?运行?测试?时?查看?测试?结果
  • 如果?在?测试?过程?中?意外?关闭,?报表?文件?不会?丢失
  • 长?时间?运行?测试?时?不会?导致?内存?增加1
  • 在?某些?情况?下,?由于?测试?期间?产生?报表?生成?开销,?可能?会?降低?测试?性能2
  • 报表?生成?器?的?自?定义?难度?较大

 


1要?防止?内存?增加,?需要?采用?其他?配置。?请?参阅《解决?TestStand?中?报表?生成?的?内存?问题》,?详细?了解?如何?在?报表?生成?过程?中?防止?内存?增加。

2此?问题?在?TestStand 2012?及?更高?版本?中?已?得到?改善,?这些?版本?提供?了?相关?设置?功能,?可?配置?即时?报表?生成?器?重新?生成?报表?的?频率。 有关?这些?设置?的?更多?信息,?请?参阅高级?结果?处理?设置?对话框帮助?主题。 默认?状态?下,?TestStand 2012?及?更高?版本?会?在?收集?了?500?个?步骤?结果?之后?或?每?执行?1.5?秒?之后?(以?先到?者?为?准)?生成?并?保留?即时?报表。 在?TestStand 2010 SP1?和?之前?的?版本?中,?报表?会?在?每?个?步骤?之后?重新?生成。


?异步?报表?生成

在?TestStand 2012?及?更高?版本?中,?报表?生成?器?(和?其他?结果?处理?插?件)?可以?异步?执行,?提高?测试?吞吐量。 要?配置?此?选项,?请?选择配置?(Configure) ? 结果?处理?(Result Processing),?然后?选中显示?更多?选项?(Show More Options)复?选?框。 新?线程列?表示?每?个?插?件?的?当前?设置。

使用?此?功能?时,?执行?程序?可以?立即?开始?测试?下?一个?UUT,?同时?为?当前?的?UUT?生成?报表,?如下?图?所?示。

注意:即时?生成?报表?时,?异步?报表?生成?则?不可?用。

技术图片

异步?结果?处理?可?提高?测试?吞吐量?的?速度,?因为?下?个?设备?的?测试?可以?立即?开始

自?定义?TestStand?报表

TestStand?报表?生成?过程?的?自?定义?程度?很高,?您?可以?根据?TestStand?应用?程序?的?需求?定制?生成?的?报表。 自?定义?报表?时,?请?使用?以下?方法:

  • 配置?报表?选项,?在?不?更改?代码?的?情况?下?进行?自?定义。
  • 使用?内?置?的?TestStand?功能,?将?其他?数据?记录?到?报表?中。
  • 修改?样式?表?和/?或?覆盖?报表?生成?回?调,?对?报表?外观?进行?更?重要?的?更改。

使用“报表?选项?(Report Options)”对话框

借助?通过“报表?选项?(Report Options)”对话?框?访问?的?报表?生成?选项,?可以?在?不?更改?代码?的?情况?下?自?定义?TestStand?报表。?要?访问?TestStand 2012?及?更高?版本?中的?对话?框,?请?导航到配置?(Configure) ? 结果?处理?(Result Processing)以?启动“报表?选项?(Report Options)”对话?框,?然后?选择?报表?生成?插?件?的?设置?图?标。 在?TestStand 2010 SP1?及?之前?的?版本?中,?请?选择配置?(Configure) ? 报表?选项?(Report Options)。

您?可以?通过?以下?方式?使用?报表?选项?对话?框?来?配置?报表:

  • 更改?报表?的?格式
  • 筛选?报表?以?添加?特定?类型?的?步骤?结果
  • 配置?报表?的?外观
  • 启用?即时?报表?生成


以下?各节?详细?介绍?了?每?种?配置?类型。

技术图片

“报表?选项?(Report Options)”对话?框 –“目录?(Content)”选项卡


报表?格式

利用“报表?选项?(Report Options)”对话?框,?可?选择?报表?的?格式。 有关?可用?报表?格式?的?更多?信息,?请?参阅?本文档报表?生成?部分的“报表?格式”一节。 某些?报表?选项?仅?适用?于?特定?的?报表?格式。


ASCII?和?HTML?特定?报表?选项

ASCII?和?HTML?报表?可以?通过?以下?两?种?方式?之一?生成:

  • 使用?序列?(Using sequences):报表由ReportGen_txt.seq或ReportGen_html.seq序列?文件?中的?序列?生成。?利用?此?方法,?您?可以?通过?修改?或?覆盖?报表?生成?序列,?更?轻松?地?自?定义?报表?生成?器,?但?执行?速度?较?慢。?如果?您?计划?自?定义?报表?生成?器,?则?建议?使用?此?选项。
  • 使用?DLL (Using a DLL):报表?使用modelsupport2.dll生成,?性能?更?快,?但?自?定义?更?困难。 如果?您?计划?使用?需要?很少?或?不需要?自?定义?的?默认?报表?生成?器,?则?建议?使用?此?选项。
XML?和?ATML?特定?报表?选项

与?HTML?报表?不同,?XML?和?ATML?报表?不?包含?任何?格式?信息。?为了?在?可读?报表?中?呈现?XML?格式?的?原始?数据,?需要?使用?XSL?样式?表。 该?样式?表?定义?了?报表?的?样式,?并从?XML?文件?中?提取?数据。 使用?样式?表,?您?可以?更改?报表?的?外观,?而无?需?对?XML?数据?文件?进行?任何?修改。?例如,?下?图?显示?了?使用?TestStand?提供?的?两?个?不同?样式?表?的?同一?XML?报表?示例。

TestStand?提供?了?多种?样式?表,?可?用于?以?不同?方式?显示?XML?和?ATML?报表?数据,?您?可以?在“报表?选项?(Report Options)”对话?框?中?具体?指定。?您?还?可以?创建?自?定义?样式?表?以?配合?使用?TestStand?报表。 有关?样式?表?自?定义?的?更多?信息?和?示例,?请?参阅《自?定义?TestStand XML?和?ATML?报表?的?格式?和?外观》一文。

技术图片
使用?水平?样式?表?的“ATML?报表”部分
 

技术图片

使用?报表?样式?表?的“ATML?报表”部分


筛选?结果

您?可以?选择?在“报表?选项?(Report Options)”对话?框?中?筛选?特定?步骤?结果?类型?的?信息,?例如:

  • 测试?限度值
  • 测试?测量值
  • 代码?模?块?执行?次数

此外,?您?还?可以?使用?结果?筛选?表达?式?来?创建?自?定义?筛选?条件。?TestStand?会?针对?每?个?步骤?结果?对?该?表达?式?进行?求值,?如果?表达?式?求值?为?True,?会?在?报表?中?添加?该?步骤。?使用“结果?筛选?(Result Filtering)”下?拉?列表?输入?控?件?选择?常用?表达?式,?如?排除?流?控制?步骤?(如下?图?所?示)。

注意:如果?使用?XML?格式,?或者?结合?使用?ATML?格式?与?TestStand 2010 SP1?或?更?早?版本,?则?结果?筛选?表达?式?不可?用。 在?这些?情况?下,?您?可以?通过?修改?报表?样式?表?来?筛选?结果。

技术图片

 

更改?报表?外观

报表?选项?对话?框?提供?相关?设置,?用于?自?定义?报表?外观,?包括:

  • 报表?颜色?(Report Colors):您?可以?更改?各种?属性?相关?的?颜色?(不适?用于?ASCII?报表)。
  • 默认?数值?格式?(Default Numeric Format):配置?数值?数据?如何?在?报表?中?显示。
  • 数?组?数据?格式?(Array Data Format):选择?是在?报表?中?以?表格、?图表?形式?添加?数?组,?还是?将?其?完全?省略。

注意:TestStand?报表?使用?ActiveX?控?件?将?数?组?数据?生成?图表。 如果?在?查看?报表?时?此?控?件?不可?用,?数据?仍?将?以?表格?形式?显示。


配置?报表?文件?路径名

在“报表?选项?(Report Options)”对话?框的报表?文件?路径?名?(Report File Pathname)选项?卡?上,?您?可以?配置?报表?文件?的?名称?及其?存储?路径。 使用“文件/?目录?(File/?Directory)”选项?来?选择?存储?报表?的?位置,?然后?根据?您?选择?的?选项?使用“UUT?报表?(UUT Report)”字?段?来?预?览?报表?文件?名。

技术图片

通过?选择“文件/?目录?选项?(File/?Directory Options)”控?件?中的按?表达?式?指定?报表?文件?路径?(Specify Report File Path by Expression)选项,?进一步?控制?报表?文件?的?名称?和?路径。 可以?使用?此?设置?来?创建?一个?表达?式,?TestStand?会对?表达?式?进行?求值,?从而?确定?报表?的?存储?位置。?此?表达?式?可以?包括?预?定义?宏,?可在“报表?文件?路径?(Report File Path)”控?件?的“菜单?(Menu)”中?访问。

注意:在?配置?报表?表达?式?时,?请?使用“已?评估?报表?文件?路径?(Evaluated Report File Path)”字?段?和?预?览?图像?来?查看?当前?表达?式?的?行为。

 

根据?UUT?结果?对?报表?文件?进行?排序

您?可以?使用?报表?文件?路径?表达?式?中的UUTStatus宏,?为?成功?报表?和?失败?报表?创建?单独?的?文件?位置。 例如,?您?可以?在?自己?的?文件?路径?中?使用?此?宏,?为?成功?报表?和?失败?报表?创建?不同?的?位置。?当?使用?此?宏?时,?TestStand?会?在?测试?执行?完成后,?重新?对?报表?文件?路径?表达?式?求值,?因为?在此?之前,?UUT?状态?是?未知?的。

技术图片

根据?UUT?结果?配置?其他?报表?文件?路径名

对于?使用?批处理?模型?的?测试,?您?可以?进一步?配置?批处理?和?批处理?中?各个?UUT?的?报表?文件?路径?行为。 要?访问?这些?设置,?请在“模型?类型?(Type of Model)”字?段中?选择?批处理。 例如,?您?可以?使用?每?个?批处理?设置的新?UUT?报表?(New UUT Report)为?每?个?批处理?创建?单独?的?报表?文件。 有关?所有?可用?设置?的?更多?信息,?请?参阅“报表?选项?(Report Options)”对话框帮助?主题。

有关?向?报表?添加?自?定义?数据?的?功能

在?许多?情况?下,?除?TestStand?默认?记录?的?结果?之外,?测试?应用?程序?还?需要?您?在?报表?中?记录?其他?数据。?为了?满足?此?需求,?TestStand?提供?了?多种?内?置?功能,?可?轻松?将?自?定义?数据?记录?到?报表?中:

  • 参数?记录
  • 其他?结果
  • ReportText?属性
  • 配置?自?定义?步骤?类型?的?报表?数据

以下?各节?详细?介绍?了?这些?功能。


参数?记录

配置?代码?模?块?参数?时,?选择模?块?(Module)选项?卡?中的记录?(Log)框,?可以?轻松?记录?测试?步骤?的?参数?数据,?如下所示。?启用?此?复?选?框?将?配置?选定?的?参数,?使?其?自动?显示?在“报表?(Reports)”或“数据?库?记录?(Database Logs)”中,?无?需?进一步?配置。

技术图片
代码?模?块 - 启用?记录?复?选框


其他?结果


您?可以?使用“步骤?设置?(Step Settings)”窗?格?中“属性?(Properties)”选项?卡?的“其他?结果?(Additional Results)”面板,?添加?任意?步骤?结果?的?其他?自?定义?数据。

技术图片

配置?其他?结果


TestStand?提供?了?一些?预?配置?的?其他?结果?来?记录?通用?属性,?如?步骤?注释?和?需求?信息。 要?访问?这些?预?配置?的?结果,?请?选择从?列表?添加?结果?(Add Result From List)按钮,?然后?从?列表?中?选择?一个?项目。?您?还?可以?为?每?个?其他?结果?条目?指定?条件?表达?式。 仅?当?表达?式?求值?为?True?时,?才?会?记录?结果。


有关?其他?结果?设置?的?更多?信息,?请?参阅?TestStand?帮助?中的“其他?结果?编辑?(Additional Results Edit)”选项卡主题。


使用?Result.ReportText

Result.ReportText是“结果?(Result)”容器?中的?附加?字符?串?元素,?用于?存储?步骤?的?自?定义?信息。?如果?字符?串?不为?空,?报表?生成?器?会?将?ReportText?字符?串?作为?字?段?添加?到?报表?中。?ReportText?字?段?支持?所有?报表?格式?(除?ASCII?以外)?的?HTML?标签,?因此?您?可以?使用?此?字?段?添加?富?文本?元素,?如?相关?的?图像?或?超?链?接。

下?图?显示?了?在?ReportText?属性?中?使用?HTML?将?图像?嵌入?步骤?结果?中的?示例。

技术图片

在?Result.ReportText?中?显示?图像?的?报表


向?报表?中?添加?自?定义?步骤?类型?属性

使用?TestStand,?您?可以?创建?自己?的?自?定义?步骤?类型?以?实现?特定?功能。?在?这种?情况?下,?通常?需要?将?自?定义?步骤?类型?数据?记录?到?报表?中。

注意:如果?您?不?熟悉?TestStand?中的?自?定义?步骤?类型,?请在?阅读?本?节?之前?参阅《自?定义?步骤?类型?开发?的?最佳?实践》一文,?以?获得?更多?信息。

若要?创建?报表?中?即将?显示?的?自?定义?步骤?属性,?请?按照?下列?步骤?操作:

  1. 在“类型?(Types)”窗?格?中,?将?自?定义?属性?添加?到?该?步骤?的“结果?(Result)”容器?中。 执行?此?操作,?可?确保?通过?结果?收集?过程?向?ResultList?中?添加?该?属性。
  2. 启用?属性的IncludeInReport标志,?以便?报表?生成?器?将?数据?添加?到?报表?中:
  • 右?键?单击?该?属性,?然后?选择属性?(Properties)...
  • 单击“高级?(Advanced)”按钮,?然后?选择标志?(Flags)...
  • 选中IncludeInReport选项,?然后?单击?两?个?对话?框的确定?(OK)

技术图片

覆盖?报表?回调

此?过程?模型?提供?了?许多?回?调,?您?可以?覆盖?这些?回?调?以?更改?特定?客户?端?序列?文件?的?模型?功能。 该?机制?对于?自?定义?报表?生成?器?也?很有?用。 本?节?介绍?了?以下?常见?的?自?定义?方法:

  • 以?编?程?方式?设置?报表?选项
  • 向?报表?中?添加?其他?UUT?和?测试?站?数据
  • 直接?自?定义?报表?生成器

注意:如果?您?不?熟悉?过程?模型?回?调,?请在?继续?学习?本?节?之前?参阅使用?回?调?序列?修改?过程?模型帮助?主题。

以?编?程?方式?设置?报表?选项

除了?使用“报表?选项?(Report Options)”对话?框?外,?您?还?可以?通过?覆盖?测试?序列?中的ReportOptions回?调,?以?编?程?方式?设置?报表?选项。 要?覆盖?序列?文件?中的?回?调,?请?按照?下列?步骤?操作:

  1. 在?序列?窗?格?中?右?键?单击,?然后?选择序列?文件?回?调?(Sequence File Callbacks)...
  2. 选择?ReportOptions?回?调,?然后?单击添加?(Add)。
  3. 单击确定?(OK)关闭?对话?框。 请?注意,?新的?ReportOptions?序列?已?创建,?如下所示。

技术图片



执行?序列?时,?过程?模型?将?在?加?载?报表?选项?对话?框?中?设置?的?当前?报表?选项?后?立即?调?用?此?回?调?序列。 Parameters.ReportOptions变量?中?包含?了?当前?报表?选项。 您?可以?修改?这些?属性?的?值?以?更改?当前?执行?的?报表?选项。 这些?选项?不会?影响“报表?选项?(Report Options)”对话?框?中的?设置?或?任何?其他?执行?的?设置。?例如,?要?为?序列?文件?启用?即时?报表?生成,?您?可以?使用?以下?表达?式?创建?一个?声明?步骤:

Parameters.ReportOptions.UseOnTheFlyReporting =True


将?其他?UUT?和?测试?站?数据?记录?到?报表?页?眉?中?(TestStand 2013?及?更高?版本)

测试?应用?程序?可能?需要?您?提供?有关?UUT?的?其他?识别?信息,?如?制造?商?所在地。 有关?UUT?和?测试?站?的?数据?由?过程?模型?存储?在?Parameters.UUT?和?Parameters.ModelData.StationInfo?变量?中。 您?创建?的?大?多数?模型?回?调?都会?将?这些?属性?作为?参数?包含?在内,?从而?允许?您?在?回?调?中?访问?此?数据。?在?TestStand 2013?及?更高?版本?中,?UUT?和?StationInfo?属性?包含?非?结构?化?容器?AdditionalData?子?属性。 您?可以?在?运行?时?向?此?属性?中?添加?数据,?而无?需?对?UUT?和?StationInfo?数据?类型?进行?任何?更改。

要?使用AdditionalData容器?以?编?程?方式?向?页?眉?添加?自?定义?UUT?数据,?请?按照?下列?步骤?操作:

  1. 覆盖?客户?端?序列?文件?中的PreUUT?回调。 请?注意,?新的?回?调?序列?包含Parameters.UUT属性
  2. 添加?一个?声明?步骤,在Parameters.UUT.AdditionalData容器?中?动态?添加?属性。?例如,?此?表达?式?创建?两?个?字符?串?数据?子?属性:

Parameters.UUT.AdditionalData.SetValString("Manufacturer.Name",?1,"National Instruments"),
Parameters.UUT.AdditionalData.SetValString("Manufacturer.Location",?1,"Debrecen, Hungary"),

注意:1?使用?SetValString?方法,?因为?PropertyOption?会?创建?一个?属性?(如果?该?属性?不存在)

  1. 添加?一个?声明?步骤,?为?AdditionalData?属性?设置?IncludeInReport?标志,?以便?将?所有?子?属性?添加?到?报表?中:

Parameters.UUT.AdditionalData.SetFlags("",?0,PropFlags_IncludeInReport)


以下?报表在AdditionalData容器?中?添加?了?自?定义?数据。 添加?自?定义?测试?站?数据?的?过程?类似,?但是?使用?的是Parameters.ModelData.StationInfo属性,?而不是Parameters.UUT。

技术图片
使用?UUT.AdditionalData?容器?向?报表?页?眉?添加?制造?商?信息


注意:此外,?您?可以?在?编辑?时?手?动向?过程?模型?入口?点的Locals.UUT或Locals.ModelData.StationInfo容器?添加?数据?和?启用IncludeInReport标志,?为?所有?客户?端?序列?文件?添加?UUT?或?测试?站?数据。


直接?自?定义?报表?生成?器?功能?(HTML?和?ASCII?格式)

报表?生成?器?定义?了?许多?可以?在?客户?端?序列?文件?中?覆盖?的?回?调。?这些?回?调?中的?每?一个?都会?在?相应?的?报表?文本?生成?后?执行,?并且?您?可以?修改?报表?生成?器?的?默认?输出。 仅?当?上述?方法?均?不可?行?时,?才?应?使用?这些?回?调来?添加?自?定义?数据。

仅?当?在“报表?选项?(Report Option)”对话?框?的“目录?(Contents)”选项?卡?上?启用“选择?用于?生成?报表?正文?的?报表?生成?器?(Select a Report Generator for Producing the Report Body)”选项?的“序列?(Sequence)”选项?时,?才?执行?这些?回?调。 此?选项?可?用于?HTML?和?ASCII?报表。  

  • ModifyReportHeader: 报表?生成?器?结果?处理?组?件?从?其?Post?序列?中?调?用?此?回?调,?对?其?进行?覆盖,?以?修改?报表?页?眉。 Parameters.ReportHeader?属性?包含?默认?的?报表?页?眉。
  • ModifyReportEntry: 报表?生成?器?结果?处理?组?件?从?其?Post?序列?中?为?ResultList?中的?每?个?结果?调?用?此?回?调,?对?其?进行?覆盖,?以?修改?为?每?个?结果?生成?的?报表?部分。?Parameters.ReportEntry?属性?包含?为?当前?ResultList?条目?生成?的?报表?数据。
  • ModifyReportFooter:报表?生成?器?结果?处理?组?件?从?其?Post?序列?中?调?用?此?回?调,?对?其?进行?覆盖,?以?修改?报表?页?脚。?Parameters.ReportFooter?属性?包含?默认?的?报表?页?眉。


配置?报表?的?外观

自?定义?报表?外观?的?方法?与?报表?格式?密切?相关。 对于?ASCII?和?HTML?报表,?外观?信息?和?报表?数据?紧密?结合。 因此,?更改?报表?的?外观?需要?直接?修改?报表?生成?器?代码,?这?需要?对?报表?生成?器?有?大概?的?了解,?本文?档?对?这?部分?内容?不做?介绍。 有关?实施?报表?生成?器?的?更多?信息,?请?参阅《报表?生成?说明》一文。

如?本文?档“报表?选项”部分?所述,?XML?和?ATML?报表?使用?样式?表?通过?原始?报表?数据?生成?可读?报表。 您?可以?通过?编辑?样式?表?来自?定义?这些?报表?的?外观,?而无?需?修改?报表?生成?器?本身。 有关?样式?表?自?定义?的?更多?信息?和?示例,?请?参阅《自?定义?TestStand XML?和?ATML?报表?的?格式?和?外观》一文。

结论?

在?TestStand?中?自?定义?报表?是?一项?常见?的?任务,?TestStand?提供?了?许多?功能?来自?定义?报表?的?内容、?功能?和?样式。?请?参见?以下?流程?图,?帮助?您?确定?如何?实施?自?定义?报表。

技术图片 

“选择?正确?的?技术?以?自?定义?报表”的?流程?图 “选择?正确?的?技术?以?自?定义?报表”的?流程图

 

本文转自:https://www.ni.com/content/ni/locales/zh-cn/support/documentation/supplemental/08/teststand-report-generation-and-customization.html












































以上是关于TestStand? 报告?生成?和?自?定义的主要内容,如果未能解决你的问题,请参考以下文章

TestStand ?用户?界面?开发?最佳?实践

Effective TestStand Operator Interfaces

MS Access:自定义报告生成

TestStand 基础知识[1]--参数和变量

自定义报告,用Java写一个html文件

使用自定义 send_email 报告 Django 错误