官术网_书友最值得收藏!

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報表或記錄到數據庫中。

主站蜘蛛池模板: 垫江县| 呼图壁县| 安泽县| 丰镇市| 上蔡县| 车险| 巨野县| 拉萨市| 柳林县| 南召县| 团风县| 浦北县| 东源县| 岐山县| 五家渠市| 朝阳县| 榆社县| 台中市| 安阳市| 巨野县| 仙居县| 枣阳市| 广安市| 贵州省| 西贡区| 新竹县| 新津县| 彰武县| 车险| 黑水县| 舞阳县| 阿巴嘎旗| 通渭县| 原平市| 泸州市| 邯郸县| 周口市| 河北区| 克山县| 抚松县| 南木林县|