- TestStand工業自動化測試管理(典藏版)
- 胡典鋼編著
- 1158字
- 2022-05-05 21:21:03
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報表或記錄到數據庫中。