是否可以创建在每次测试运行之前/之后执行的功能? 也许像this。
例如,需要
当然,可以创建2个函数,并在每个脚本的第一行和最后一行中显式调用它们。但是,在一个地方定义它们是合适的,这样就可以自动为每个测试调用它们。
答案 0 :(得分:3)
声明。我不使用内置的QTP记录/回放框架或外部驱动程序。使用我自己的混合框架,我将测试逻辑与代码完全分开。因此我没有问到这个问题。
根据提供的其他信息,我建议了一些可能的解决方法。
如果您已经在测试中使用了 Init / Done 等功能,则可以在其中加入这些附加功能。要指定要调用的确切函数,可以使用,例如,Dictionary对象。作为此选项的子选项,请考虑使用回调。
如果在测试中使用对象类,则可以将这些附加功能附加到自动调用的构造函数/析构函数,这样您可以轻松地拥有多个退出点。在VBScript中,您可以仅通过委派使用继承,但这应该足够了。这是VBScript OOP上的example。
您可以拥有一个特殊的“测试”脚本,由驱动程序在您的常规测试脚本之间调用。如果你的设置/恢复操作是通用的,那就是一个“快速而肮脏”的解决方案。如果您计划使用各种设置/恢复操作,则需要考虑在特殊脚本中调度正确调用的方式。
答案 1 :(得分:3)
在你的情况下,我会推荐Albert Gareev建议的第二个选项。 只需在另一个.qfl lib中创建一个类并创建一个访问器:
private autoInitiatorTerminator : Set autoInitiatorTerminator = new cls_autoInitiatorTerminator
class cls_autoInitiatorTerminator
private sub class_initialize
' put here your initiation code
end sub
private sub class_terminate
' put here your termination code
end sub
end class
Add-And-Forget(tm):将库作为资源添加到测试中,您可以忘掉它。