2014-12-05 43 views

回答

0

不是直接。

一個類似的想法是詢問當前運行結果狀態,請參見How can I get the run result status according to the current report node?,但目前尚未解決。

你可以,但是,請致電您的行爲,並消耗有返回值,就像這樣:

ActionSucceeded=RunAction ("myTest [Action2]", oneIteration) 
If not ActionSucceeded then 
    ' The Action2 call signalled "failure" (false) 
End If 

這意味着Action2必須返回這樣的結果,就像在這裏:

ExitActionIteration (false) 

當心,但是,RunAction聲明需要插入usi在QTP的IDE中(插入/呼叫到...),導致不帶括號的呼叫RunAction。當編輯到上面的任務表單(帶括號)時,請確保在保存測試前第一次做對 - 因爲如果保存包含打破的RunAction呼叫的測試,則QTP分離被呼叫的測試和即使您將腳本編輯回正確的語法,測試也會在運行時失敗。這是由於QTP將QTP無形地保存在腳本中,如果你保存了一個無效的動作調用,這個元信息將被丟棄。 (你可以看到,當這種情況發生,因爲行動呼籲將從測試流程視圖中消失。)

和:如果您鴕鳥政策的RunAction結果存儲在一個變量,而是直接使用它,就像在

If not RunAction ("myTest [Action2]", oneIteration) then 
    ' The Action2 call signalled "failure" (false) 
End If 

出現同樣的混亂:QTP不理解這是一個有效的動作調用,即使您將其編輯回原始形式,它也不會工作。

除了「小心」提示之外,LoadAndRunAction也是如此,它在運行時調用動作。可以調用LoadAndRunAction作爲函數,如果被調用的動作通過ExitActionIteration返回值,則返回該值。

另一個「當心」提示ExitActionIteration真的需要它的參數用括號括起來,即使它是一個Sub(或至少被稱爲一個Sub)。我懷疑這是因爲它不是一個真正的SubFunction,而是一種特殊的聲明,以一種奇特的方式「修補」到MS VBScript引擎中。

+0

噢,我正在使用QTP,但我認爲它在UFT中是一樣的。 – TheBlastOne 2014-12-05 14:12:08

相關問題