禁用未找到调试的对象

最后编辑了

有时你会想要捕获寻找保护的绝佳原因,以便不存在的控制不相关。 例如,如果您有一个弹出窗口,可能会在应用程序的自动化中的某个点处显示。

在这种情况下,显示的对话框‘Object not found’-debugging可能会阻碍,因为它停止了测试执行。

通过设置有一种简单的方法来禁用此对话框 testsettings.ObjectNotFoundDebugging. 相当于各个脚本语言的假。

在Python中,一个简洁的方式取消激活它是使用功能装饰器。为此,您可以定义作为装饰托的函数

def NoObjectLookupDebug(function):
    def inner(*args, **kwargs):
        objectNotFoundDebugging_backup = squish.testSettings.objectNotFoundDebugging
        squish.testSettings.objectNotFoundDebugging = False
        try:
            return function(*args, **kwargs)
        finally:
            squish.testSettings.objectNotFoundDebugging = objectNotFoundDebugging_backup
    return inner

此函数可以在测试模块本身中定义或从全局模块导入。 然后您将函数定义为如此喜欢的对象查找

@NoObjectLookupDebug
def functionWithoutObjectDebugging():
    try:
        waitForObject(names.application_popup, 5)
    except LookupError:
        pass

装饰器在执行期间函数包裹函数,并将TestSettings恢复。在执行函数后对其之前的值恢复TestSettings.ObjectNotFoundDebugging。