2014-12-05 77 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

相关问题