verifyElementPresent is giving error

Not sure why I am getting an error with the following code.

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import static com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyElementPresent
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as MobileBuiltInKeywords
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testcase.TestCaseFactory as TestCaseFactory
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository
import com.kms.katalon.core.testng.keyword.TestNGBuiltinKeywords as TestNGKW
import com.kms.katalon.core.testobject.TestObject as TestObject
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.webui.keyword.internal.WebUIAbstractKeyword as WebUIAbstractKeyword
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys

if (WebUI.verifyElementPresent('Login Page/button_Yes_UserAlreadyLoggedIn', 3, Optional)) {
    WebUI.click(findTestObject('Login Page/button_Yes_UserAlreadyLoggedIn'))
} else {
    println('User is not already logged in...')
}```


Here is my error code:
est Cases/New Loan With Funding FAILED.
Reason:
groovy.lang.MissingMethodException: No signature of method: static com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyElementPresent() is applicable for argument types: (java.lang.String, java.lang.Integer, java.lang.Class) values: [Login Page/button_Yes_UserAlreadyLoggedIn, 3, class java.util.Optional]
> Blockquote

You have this:

You should change it to:

if (WebUI.verifyElementPresent('Login Page/button_Yes_UserAlreadyLoggedIn', 3, 
    FailureHandling.Optional)) {
    WebUI.click(findTestObject('Login Page/button_Yes_UserAlreadyLoggedIn'))

There is something you have missed.

1) WebUI.verifyElementPresent does not take in argument string for the first parameter. It requires a TestObject as the first parameter.

In the first parameter you have to add findTestObject(‘Login Page/button_Yes_UserAlreadyLoggedIn’)

2) The Enum used for FailureHandeling needs to be in all upper case

FailureHandling.OPTIONAL

So the code will look like below:

if (WebUI.verifyElementPresent(findTestObject('Login Page/button_Yes_UserAlreadyLoggedIn'), 3, FailureHandling.OPTIONAL)) {
    WebUI.click(findTestObject('Login Page/button_Yes_UserAlreadyLoggedIn'))
} else {
    println('User is not already logged in...')
}
2 Likes