How can a user download the list of Katalon Inbuilt Keywords

I would like to keep a list of Inbuilt Keywords in my local as a reference but i don’t see any option to export Inbuilt Keywords list. Can someone please advise or provide the list if anyone has?

1 Like

Hi there,

Thank you very much for your topic. Please note that it may take a little while before a member of our community or from Katalon team responds to you.

Thanks!

In our document website, we list out all keyword, you could go to there and see the list
url for ref:Custom Keywords Refactoring in Katalon Studio | Katalon Docs

Hope this help.

1 Like

There 's nothing about inbuilt keywords. I am looking for something like below
image

Keywords list along with what it does.

I’m using Katalon Studio 9.0.0 Free.

I made a custom Groovy class : Keywords/com/kazurayam/ks/KeywordMethod.groovy

package com.kazurayam.ks

import java.lang.reflect.Method

import com.kms.katalon.core.annotation.Keyword

class KeywordMethod implements Comparable<KeywordMethod> {

	private String application
	private Method method
	private Keyword keyword = null

	KeywordMethod(String application, Method method) {
		Objects.requireNonNull(application)
		Objects.requireNonNull(method)
		this.application = application
		this.method = method
		if (method.getDeclaredAnnotation(Keyword.class) != null) {
			keyword = (Keyword)method.getDeclaredAnnotation(Keyword.class)
		}
	}

	boolean isAnnotatedWithKeyword() {
		return keyword != null
	}

	String application() {
		return this.application
	}

	String methodName() {
		return method.getName()
	}

	String category() {
		return (isAnnotatedWithKeyword()) ? keyword.keywordObject() : ""
	}

	@Override
	boolean equals(Object obj) {
		if (!(obj instanceof KeywordMethod)) {
			return false
		}
		KeywordMethod other = (KeywordMethod)obj
		// ignore the difference of method signagure
		return this.application() == other.application() &&
				this.methodName() == other.methodName() &&
				this.category() == other.category()
	}

	@Override
	int hashCode() {
		int hash = 7;
		hash = 31 * hash + application().hashCode();
		hash = 31 * hash + methodName().hashCode();
		hash = 31 * hash + category().hashCode();
		return hash
	}

	@Override
	String toString() {
		return application() + "," + category() + "," + methodName()
	}

	@Override
	int compareTo(KeywordMethod other) {
		int applicationComparison = this.application().compareTo(other.application())
		if (applicationComparison == 0) {
			int categoryComparison = this.category().compareTo(other.category())
			if (categoryComparison == 0) {
				return this.methodName().compareTo(other.methodName())
			} else {
				return categoryComparison
			}
		} else {
			return applicationComparison
		}
	}
}

I made a script that uses the class: Test Cases/printListOfKeywordMethod

import java.lang.reflect.Method
import java.lang.reflect.Modifier

import com.kazurayam.ks.KeywordMethod
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows

List<Method> getAccessibleMethods(Class clazz) {
	List<Method> result = new ArrayList<Method>()
	while (clazz != null) {
	   for (Method method : clazz.getDeclaredMethods()) {
		  int modifiers = method.getModifiers()
		  if (Modifier.isPublic(modifiers) || Modifier.isProtected(modifiers)) {
			 result.add(method)
		  }
	   }
	   clazz = clazz.getSuperclass()
	}
	return result;
}

void printKeywords(String application, Class clazz) {
	 List<Method> methods = getAccessibleMethods(clazz)
	 methods.stream()
			 .map({ Method m-> new KeywordMethod(application, m) })
			 .filter({ KeywordMethod km -> km.isAnnotatedWithKeyword() })
			.distinct()
			.sorted()
			.each({ KeywordMethod km -> println km.toString() })
}
 
printKeywords("WebUI", WebUI.class)
 
printKeywords("WS", WS.class)
 
printKeywords("Mobile", Mobile.class)
 
printKeywords("Windows", Windows.class)

I ran the test case script. I got the following output in the console:

2024-05-27 21:19:37.163 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2024-05-27 21:19:37.167 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/printListOfKeywordMethod
WebUI,Alert,acceptAlert
WebUI,Alert,dismissAlert
WebUI,Alert,getAlertText
WebUI,Alert,setAlertText
WebUI,Alert,verifyAlertNotPresent
WebUI,Alert,verifyAlertPresent
WebUI,Alert,waitForAlert
WebUI,Attribute,getAttribute
WebUI,Browser,authenticate
WebUI,Browser,back
WebUI,Browser,closeBrowser
WebUI,Browser,deleteAllCookies
WebUI,Browser,forward
WebUI,Browser,navigateToUrl
WebUI,Browser,openBrowser
WebUI,Browser,refresh
WebUI,Browser,waitForAngularLoad
WebUI,Browser,waitForJQueryLoad
WebUI,Browser,waitForPageLoad
WebUI,Checkbox,check
WebUI,Checkbox,uncheck
WebUI,Checkbox,verifyElementChecked
WebUI,Checkbox,verifyElementNotChecked
WebUI,Combo Box,deselectAllOption
WebUI,Combo Box,deselectOptionByIndex
WebUI,Combo Box,deselectOptionByLabel
WebUI,Combo Box,deselectOptionByValue
WebUI,Combo Box,getNumberOfSelectedOption
WebUI,Combo Box,getNumberOfTotalOption
WebUI,Combo Box,selectAllOption
WebUI,Combo Box,selectOptionByIndex
WebUI,Combo Box,selectOptionByLabel
WebUI,Combo Box,selectOptionByValue
WebUI,Combo Box,verifyOptionNotPresentByLabel
WebUI,Combo Box,verifyOptionNotPresentByValue
WebUI,Combo Box,verifyOptionNotSelectedByIndex
WebUI,Combo Box,verifyOptionNotSelectedByLabel
WebUI,Combo Box,verifyOptionNotSelectedByValue
WebUI,Combo Box,verifyOptionPresentByLabel
WebUI,Combo Box,verifyOptionPresentByValue
WebUI,Combo Box,verifyOptionSelectedByIndex
WebUI,Combo Box,verifyOptionSelectedByLabel
WebUI,Combo Box,verifyOptionSelectedByValue
WebUI,Combo Box,verifyOptionsPresent
WebUI,Element,clearText
WebUI,Element,click
WebUI,Element,clickOffset
WebUI,Element,convertWebElementToTestObject
WebUI,Element,disableSmartWait
WebUI,Element,doubleClick
WebUI,Element,dragAndDropByOffset
WebUI,Element,dragAndDropToObject
WebUI,Element,enableSmartWait
WebUI,Element,enhancedClick
WebUI,Element,findWebElement
WebUI,Element,findWebElements
WebUI,Element,focus
WebUI,Element,getAllLinksOnCurrentPage
WebUI,Element,getCSSValue
WebUI,Element,getElementHeight
WebUI,Element,getElementLeftPosition
WebUI,Element,getElementWidth
WebUI,Element,mouseOver
WebUI,Element,mouseOverOffset
WebUI,Element,rightClick
WebUI,Element,rightClickOffset
WebUI,Element,scrollToElement
WebUI,Element,uploadFileWithDragAndDrop
WebUI,Element,verifyAllLinksOnCurrentPageAccessible
WebUI,Element,verifyElementAttributeValue
WebUI,Element,verifyElementClickable
WebUI,Element,verifyElementHasAttribute
WebUI,Element,verifyElementInViewport
WebUI,Element,verifyElementNotClickable
WebUI,Element,verifyElementNotHasAttribute
WebUI,Element,verifyElementNotInViewport
WebUI,Element,verifyElementNotPresent
WebUI,Element,verifyElementNotVisible
WebUI,Element,verifyElementNotVisibleInViewport
WebUI,Element,verifyElementPresent
WebUI,Element,verifyElementText
WebUI,Element,verifyElementVisible
WebUI,Element,verifyElementVisibleInViewport
WebUI,Element,verifyLinksAccessible
WebUI,Element,waitForElementAttributeValue
WebUI,Element,waitForElementClickable
WebUI,Element,waitForElementHasAttribute
WebUI,Element,waitForElementNotClickable
WebUI,Element,waitForElementNotHasAttribute
WebUI,Element,waitForElementNotPresent
WebUI,Element,waitForElementNotVisible
WebUI,Element,waitForElementPresent
WebUI,Element,waitForElementVisible
WebUI,Form,submit
WebUI,Frame,switchToDefaultContent
WebUI,Frame,switchToFrame
WebUI,Image,clickImage
WebUI,Image,typeOnImage
WebUI,Image,verifyImagePresent
WebUI,Image,waitForImagePresent
WebUI,Keyboard,sendKeys
WebUI,Keyboard,uploadFile
WebUI,Number,verifyEqual
WebUI,Number,verifyGreaterThan
WebUI,Number,verifyGreaterThanOrEqual
WebUI,Number,verifyLessThan
WebUI,Number,verifyLessThanOrEqual
WebUI,Number,verifyNotEqual
WebUI,Text,concatenate
WebUI,Text,getText
WebUI,Text,setEncryptedText
WebUI,Text,setMaskedText
WebUI,Text,setText
WebUI,Text,verifyMatch
WebUI,Text,verifyNotMatch
WebUI,Text,verifyTextNotPresent
WebUI,Text,verifyTextPresent
WebUI,Utilities,callTestCase
WebUI,Utilities,comment
WebUI,Utilities,delay
WebUI,Utilities,modifyObjectProperty
WebUI,Utilities,removeObjectProperty
WebUI,Utilities,takeAreaScreenshot
WebUI,Utilities,takeAreaScreenshotAsCheckpoint
WebUI,Utilities,takeElementScreenshot
WebUI,Utilities,takeElementScreenshotAsCheckpoint
WebUI,Utilities,takeFullPageScreenshot
WebUI,Utilities,takeFullPageScreenshotAsCheckpoint
WebUI,Utilities,takeScreenshot
WebUI,Utilities,takeScreenshotAsCheckpoint
WebUI,Utilities,verifyCheckpoint
WebUI,Window,closeWindowIndex
WebUI,Window,closeWindowTitle
WebUI,Window,closeWindowUrl
WebUI,Window,executeJavaScript
WebUI,Window,getPageHeight
WebUI,Window,getPageWidth
WebUI,Window,getUrl
WebUI,Window,getViewportHeight
WebUI,Window,getViewportLeftPosition
WebUI,Window,getViewportTopPosition
WebUI,Window,getViewportWidth
WebUI,Window,getWindowIndex
WebUI,Window,getWindowTitle
WebUI,Window,maximizeWindow
WebUI,Window,scrollToPosition
WebUI,Window,setViewPortSize
WebUI,Window,switchToWindowIndex
WebUI,Window,switchToWindowTitle
WebUI,Window,switchToWindowUrl
WS,Element,getElementPropertyValue
WS,Element,getElementText
WS,Element,getElementsCount
WS,Element,getResponseStatusCode
WS,Element,verifyElementPropertyValue
WS,Element,verifyElementText
WS,Element,verifyElementsCount
WS,Element,verifyResponseStatusCode
WS,Element,verifyResponseStatusCodeInRange
WS,Number,verifyEqual
WS,Number,verifyGreaterThan
WS,Number,verifyGreaterThanOrEqual
WS,Number,verifyLessThan
WS,Number,verifyLessThanOrEqual
WS,Number,verifyNotEqual
WS,Request,sendRequest
WS,Request,sendRequestAndVerify
WS,Request,validateGraphqlRequestAgainstSchema
WS,Request,validateJsonAgainstSchema
WS,Request,validateXmlAgainstSchema
WS,Text,concatenate
WS,Text,containsString
WS,Text,verifyMatch
WS,Text,verifyNotMatch
WS,Utilities,callTestCase
WS,Utilities,comment
WS,Utilities,delay
WS,Utilities,getHarFileGeneration
WS,Utilities,setHarFileGeneration
WS,Utilities,verifyCheckpoint
Mobile,Application,closeApplication
Mobile,Application,runIOSAppInBackgroundAndWait
Mobile,Application,startApplication
Mobile,Application,startExistingApplication
Mobile,Attribute,getAttribute
Mobile,Device,getCurrentOrientation
Mobile,Device,getDeviceHeight
Mobile,Device,getDeviceManufacturer
Mobile,Device,getDeviceOS
Mobile,Device,getDeviceOSVersion
Mobile,Device,getDeviceWidth
Mobile,Device,getElementLeftPosition
Mobile,Device,getElementTopPosition
Mobile,Device,hideKeyboard
Mobile,Device,switchToLandscape
Mobile,Device,switchToNative
Mobile,Device,switchToPortrait
Mobile,Device,switchToWebView
Mobile,Device,unlockScreen
Mobile,Device,verifyIsLandscape
Mobile,Device,verifyIsPortrait
Mobile,Element,checkElement
Mobile,Element,dragAndDrop
Mobile,Element,executeMobileCommand
Mobile,Element,findImageElement
Mobile,Element,findImageElements
Mobile,Element,getElementHeight
Mobile,Element,getElementWidth
Mobile,Element,longPress
Mobile,Element,selectListItemByIndex
Mobile,Element,selectListItemByLabel
Mobile,Element,sendKeys
Mobile,Element,setSliderValue
Mobile,Element,tapAndHold
Mobile,Element,tapOnImage
Mobile,Element,uncheckElement
Mobile,Element,verifyElementAttributeValue
Mobile,Element,verifyElementChecked
Mobile,Element,verifyElementExist
Mobile,Element,verifyElementHasAttribute
Mobile,Element,verifyElementNotChecked
Mobile,Element,verifyElementNotExist
Mobile,Element,verifyElementNotHasAttribute
Mobile,Element,verifyElementNotVisible
Mobile,Element,verifyElementText
Mobile,Element,verifyElementVisible
Mobile,Element,verifyImagePresent
Mobile,Element,waitForElementAttributeValue
Mobile,Element,waitForElementHasAttribute
Mobile,Element,waitForElementNotHasAttribute
Mobile,Element,waitForElementNotPresent
Mobile,Element,waitForElementPresent
Mobile,Notification,closeNotifications
Mobile,Notification,openNotifications
Mobile,Number,verifyEqual
Mobile,Number,verifyGreaterThan
Mobile,Number,verifyGreaterThanOrEqual
Mobile,Number,verifyLessThan
Mobile,Number,verifyLessThanOrEqual
Mobile,Number,verifyNotEqual
Mobile,Screen,doubleTap
Mobile,Screen,pinchToZoomInAtPosition
Mobile,Screen,pinchToZoomOutAtPosition
Mobile,Screen,swipe
Mobile,Screen,tap
Mobile,Screen,tapAndHoldAtPosition
Mobile,Screen,tapAtPosition
Mobile,Text,clearText
Mobile,Text,concatenate
Mobile,Text,getText
Mobile,Text,scrollToText
Mobile,Text,setEncryptedText
Mobile,Text,setText
Mobile,Text,verifyMatch
Mobile,Text,verifyNotMatch
Mobile,Utilities,callTestCase
Mobile,Utilities,comment
Mobile,Utilities,delay
Mobile,Utilities,performTouchID
Mobile,Utilities,pressBack
Mobile,Utilities,pressHome
Mobile,Utilities,takeAreaScreenshot
Mobile,Utilities,takeAreaScreenshotAsCheckpoint
Mobile,Utilities,takeElementScreenshot
Mobile,Utilities,takeElementScreenshotAsCheckpoint
Mobile,Utilities,takeScreenshot
Mobile,Utilities,takeScreenshotAsCheckpoint
Mobile,Utilities,toggleAirplaneMode
Mobile,Utilities,toggleWifi
Mobile,Utilities,useFingerprint
Mobile,Utilities,verifyCheckpoint
Windows,Application,closeApplication
Windows,Application,getDriver
Windows,Application,startApplication
Windows,Application,startApplicationWithTitle
Windows,Application,switchToApplication
Windows,Application,switchToDesktop
Windows,Application,switchToWindow
Windows,Application,switchToWindowTitle
Windows,Element,clearText
Windows,Element,click
Windows,Element,clickElementOffset
Windows,Element,doubleClick
Windows,Element,findElement
Windows,Element,findElements
Windows,Element,getAttribute
Windows,Element,getElementPosition
Windows,Element,getElementRect
Windows,Element,getText
Windows,Element,rightClick
Windows,Element,rightClickElementOffset
Windows,Element,sendKeys
Windows,Element,setEncryptedText
Windows,Element,setText
Windows,Element,verifyElementAttributeValue
Windows,Element,verifyElementNotPresent
Windows,Element,verifyElementPresent
Windows,Element,waitForElementAttributeValue
Windows,Element,waitForElementNotPresent
Windows,Element,waitForElementPresent
Windows,Number,verifyEqual
Windows,Number,verifyGreaterThan
Windows,Number,verifyGreaterThanOrEqual
Windows,Number,verifyLessThan
Windows,Number,verifyLessThanOrEqual
Windows,Number,verifyNotEqual
Windows,Text,concatenate
Windows,Text,verifyMatch
Windows,Text,verifyNotMatch
Windows,Utilities,callTestCase
Windows,Utilities,comment
Windows,Utilities,delay
Windows,Utilities,verifyCheckpoint
2024-05-27 21:19:45.210 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/printListOfKeywordMethod

Excellent Job!!!. Maybe you can improvise this script to also capture the function each of these keywords does.

No, I won’t do it.

You need to link the entry (keyword name) to the javadoc information of each individual methods. That will require 10 times more complicated progragramming than the above snippet.

I would leave it to you as your homework.

1 Like