在 Katalon Studio 中记录自定义关键字方法的步骤

Logging the steps of a custom keyword method in Katalon Studio

上下文

我们 运行 跨多个页面上的相同小部件,并且通常涵盖被测站点上给定页面的多个场景。这个问题和其他问题促使我将页面操作问题分别移至关键字中的 GeneralWebUIUtils 和页面对象。

例子

比如我们有这个classGeneralWebUIUtils,定义为:

package com.xxx.utils

import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

public final class GeneralWebUIUtils {
    //...

    public static void HandleAutoComplete(TestObject textField, String input, TestObject loader, TestObject firstDropdownOption) {
        WebUI.click(textField)

        WebUI.setText(textField, input)

        WebUI.waitForElementVisible(loader, 3)

        WebUI.waitForElementNotVisible(loader, 3)

        WebUI.waitForElementNotPresent(firstDropdownOption, 3)

        WebUI.waitForElementVisible(firstDropdownOption, 3)

        WebUI.click(firstDropdownOption)
    }
}

特别是在一个测试用例中,我必须处理自动完成,为此我将使用 class.

中的 GeneralWebUIUtils.HandleAutoComplete

好的,现在出了什么问题?

我现在面临该方法的性能问题,在此之前,一个陈旧的元素异常。典型的测试用例问题,刚刚移到一个包中。每当我查看日志查看器时,它都不会像测试用例本身存在该方法那样显示该方法的步骤:

这是有问题的,因为这意味着您无法查看日志以找出正在发生的事情,更不用说是什么造成了瓶颈。因此,您被迫使用调试模式,它本身很容易出现问题(想想强制等待,以及 b/c 其中的不稳定调试会话)。

我们如何告诉 Katalon 记录不同的 WebUI 关键字,就像它在该方法的本地测试用例版本中所做的那样?

对于自定义关键字的日志记录,您可以使用 KeywordUtil.logInfo() 方法,如 documentation 中所述。

更多信息,您可以查看Katalon forum