TestStand工业自动化测试管理(典藏版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.3.1 步骤(Step)属性

在第4章中介绍TestStand自带的步骤类型时,就已经提到,每种步骤都有其特有的数据空间,也就是该步骤所包含的属性。以数值限度测试步骤为例,如果选中该步骤,在变量窗格中就会显示对应的步骤属性,包括Step.Result、Step.Limits、Step.Comp等。属性下面还可以包含子属性,在TestStand中通过圆点“.”来体现属性的这种嵌套层次关系,这和变量表达嵌套层次关系是一样的。比如,“Step.DataSource”表示DataSource属性位于Step属性中。

不同步骤类型之间的步骤属性是有差别的,比如Step.Limits(如图5-8所示)和Step.DataSource是测试步骤才有的属性,而Step.Result.ButtonHit则是消息对话框特有的属性,但是对TestStand所有自带的步骤类型而言,它们都有Step.Result属性(如图5-9所示),而且总是包括子属性Step.Result.Error、Step.Result.Status、Step.Result.ReportText、Step.Result.Common。

Step.Result.Error反映步骤执行过程中是否发生了错误,Error是一个容器,它包含Step.Result.Error.Code、Step.Result.Error.Msg和Step.Result.Error.Occurred三个子属性,分别是数值型、字符串型、布尔型。Occurred表示是否发生错误,Code是错误代码,Msg包含错误的描述信息。如果没有发生错误,Occurred的值为“False”,Code值为0,而Msg为空。但TestStand如果遇到某些状况导致序列不能往下执行,那么它就会产生错误。一般有两种情况:一种是代码模块在执行的过程中遇到了错误,通常代码模块会直接设置Occurred值为“True”;另一种是步骤本身出现了意外错误,比如步骤中设置了先决条件,先决条件表达式中引用了其他步骤的属性,但是TestStand在计算表达式时,发现所引用步骤属性不存在,同样会报错。

图5-8 数值限度测试步骤属性

图5-9 通用步骤属性Step.Result

Step.Result.Status表示步骤的状态,它的数据类型是字符串。如果步骤还在运行中,它的状态有可能是Looping、Running或Waiting;对于还没有被执行到的步骤,它们的状态默认为空。

Looping:当步骤在属性配置页循环面板中设置了循环模式,该步骤在执行过程中的状态为“Looping”。

Running:当步骤调用代码模块且仍在执行代码模块时,它的状态为“Running”。

Waiting:步骤处于等待状态,它在等待某个事件的到来,然后才开始执行。一般同步步骤会有“Waiting”状态。

在步骤执行完成后,它的最终状态有可能是Passed、Failed、Done、Error、Skipped、Terminated。“Passed”表示该项测试合格,而“Failed”表示失败,测试步骤类型、序列调用步骤类型才会有这两个状态。“Done”表示步骤执行完成。如果不是测试或序列调用步骤,其他步骤正常完成时的状态为Done;如果步骤在执行的过程中遇到了错误,那么它的状态为Error。“Skipped”表示步骤并没有被执行,这有可能是在属性配置页运行选项面板中将运行模式设置为Skip,该步骤的执行被跳过。“Terminated”表示步骤在执行的过程中被中断了。

Step.Result.ReportText是字符串数据类型,用户可以在步骤执行的过程中将某些信息写入这个属性中,这些信息就会最终出现在报表中。因此,如果有一些额外的内容想在报表中出现,借助于ReportText属性是一种选择。

Step.Result.Common是一个容器,这个容器默认为空,用户可以自定义该容器。除了这些通用属性,Step.Result下还有其他子属性,但这些子属性因步骤类型而异。Step.Result属性是步骤属性中最重要的数据,像步骤状态、错误信息有可能最终出现在TestStand报表或记录到数据库中。