Groovy.lang.missingpropertyexception no such property for script

I am trying to execute my test cases is failing, again and again, Please advise me on it.

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 com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
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.testdata.TestData as TestData
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 internal.GlobalVariable as GlobalVariable

WebUI.openBrowser(’’)

WebUI.navigateToUrl(‘https://www.b-yy.com/’)

WebUI.click(findTestObject(‘Object Repository/Page_Be Wise Professional Web Design Services/button_Log In’))

WebUI.setText(findTestObject(‘Object Repository/Page_Be Wise Professional Web Design Services/input__username’), ‘bilal.cad@gmail.com’)

WebUI.setEncryptedText(findTestObject(‘Object Repository/Page_Be Wise Professional Web Design Services/input__password’), ‘GNTmIPOEuyBk85O+GS5diQ==’)

WebUI.sendKeys(findTestObject(‘Object Repository/Page_Be Wise Professional Web Design Services/input__password’), Keys.chord( Keys.ENTER))

WebUI.click(findTestObject(‘Object Repository/Page_Dashboard/button_Dashboard’))

WebUI.click(findTestObject(‘Object Repository/Page_Dashboard/button_Logout’))

WebUI.closeBrowser()


I get this response :slightly_frowning_face:

2019-06-19 18:11:54.530 ERROR c.k.katalon.core.main.TestCaseExecutor - :x: Test Cases/Testcase1 FAILED.
Reason:
groovy.lang.MissingPropertyException: No such property: Keys for class: Script1560946927249
at Testcase1.run(Testcase1:27)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1560949891181.run(TempTestCase1560949891181.groovy:21)

2019-06-19 18:11:54.542 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/Testcase1


I am using below build of Katalon Studio:

Katalon Studio
Version: 6.2.0
Build: 1


I am using below build of Katalon Studio:

Katalon Studio
Version: 6.2.0
Build: 1


Add this import in your test case.
import org.openqa.selenium.Keys as Keys

3 Likes

Please share more detail how and where these lines need to add. If you could represent it visually, that would be highly appreciated.

Referring the same code you’ve mentioned in your question.

Just add this import statement below your existing import statements. Like this…

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 com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
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.testdata.TestData as TestData
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 internal.GlobalVariable as GlobalVariable

import org.openqa.selenium.Keys as Keys

Please mark this reply as solved if it solved your issue.

3 Likes

Thanks, the previous solution worked very well. Now I have this issue while executing the test case.


Test Cases/FR-Login FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to click on object ‘Object Repository/Page_First Responder Discounts-Get Exclusive offers/p_Log In’
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26)
at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.click(ClickKeyword.groovy:86)
at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.execute(ClickKeyword.groovy:67)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.click(WebUiBuiltInKeywords.groovy:616)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$click$1.call(Unknown Source)
at FR-Login.run(FR-Login:21)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1561352495541.run(TempTestCase1561352495541.groovy:21)
Caused by: org.openqa.selenium.ElementNotVisibleException: element not interactable
(Session info: chrome=75.0.3770.100)
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17134 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’
System info: host: ‘DESKTOP-M3QSOSJ’, ip: ‘192.168.18.10’, os.name: ‘Windows 10’, os.arch: ‘x86’, os.version: ‘10.0’, java.version: ‘1.8.0_181’
Driver info: com.kms.katalon.selenium.driver.CChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 74.0.3729.6 (255758eccf3d24…, userDataDir: C:\Users\NT\AppData\Local\T…}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:55504}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 75.0.3770.100, webStorageEnabled: true}
Session ID: b5fb352802c8060953e8b1e002dcb7a8
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at com.kms.katalon.selenium.driver.CChromeDriver.execute(CChromeDriver.java:20)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword$_click_closure1.doCall(ClickKeyword.groovy:79)
at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword$_click_closure1.call(ClickKeyword.groovy)
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
… 17 more

I export copy this code from Katalon IDE and paste into Kalaton Studio.

Note: I export copy code as Katalon studio.


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 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.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.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords
import internal.GlobalVariable as GlobalVariable
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import org.openqa.selenium.Keys as Keys

import com.thoughtworks.selenium
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.WebDriver
import com.thoughtworks.selenium.webdriven.WebDriverBackedSelenium
import static org.junit.Assert.*
import java.util.regex.Pattern
import static org.apache.commons.lang3.StringUtils.join

WebUI.openBrowser(‘https://www.katalon.com’)
def driver = DriverFactory.getWebDriver()
String baseUrl = “https://www.katalon.com”
selenium = new WebDriverBackedSelenium(driver, baseUrl)
selenium.open(“https://www.firstresponderdiscounts.us”)
selenium.click(“xpath=(.//*[normalize-space(text()) and normalize-space(.)=‘Dashboard’])[1]/following::p[1]”)
selenium.click(“name=ref_relationship_email_address”)
selenium.allowNativeXpath(“name=ref_relationship_email_address”)
selenium.click(“name=ref_relationship_password”)
selenium.allowNativeXpath(“name=ref_relationship_password”)
selenium.click(“id=byy_28820854”)
selenium.allowNativeXpath(“id=byy_90840342”)
selenium.close()


In response I get this error.

SLF4J: The requested version 1.7.16 by your slf4j binding is not compatible with [1.6]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
2019-06-24 11:47:15.715 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2019-06-24 11:47:15.719 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/FR-Loginandlogout
2019-06-24 11:47:16.398 ERROR c.k.katalon.core.main.TestCaseExecutor - :x: Test Cases/FR-Loginandlogout FAILED.
Reason:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
file:/C:/Users/NT/Katalon%20Studio/Userlogin%20and%20logout/Scripts/FR-Loginandlogout/Script1561357112761.groovy: 24: unable to resolve class com.thoughtworks.selenium
@ line 24, column 1.
import com.thoughtworks.selenium
^

file:/C:/Users/NT/Katalon%20Studio/Userlogin%20and%20logout/Scripts/FR-Loginandlogout/Script1561357112761.groovy: 35: you tried to assign a value to the class ‘com.thoughtworks.selenium’
@ line 35, column 1.
selenium = new WebDriverBackedSelenium(driver, baseUrl)
^

2 errors

at com.kms.katalon.core.main.ScriptEngine.getScript(ScriptEngine.java:199)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1561358833318.run(TempTestCase1561358833318.groovy:21)

2019-06-24 11:47:16.411 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/FR-Loginandlogout

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 com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
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.testdata.TestData as TestData
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 internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys

WebUI.callTestCase(findTestCase(‘Login/login’), [:], FailureHandling.STOP_ON_FAILURE)

WebUI.click(findTestObject(‘Login/Brand Management/othermenu_tab’))

WebUI.click(findTestObject(‘Login/Brand Management/createbrand_tab’))

WebUI.click(findTestObject(‘Login/Brand Management/country_dropdownbx’))

CustomKeywords.‘reciproci.selectDropDown.dropDown’(country_dropdownbx, ‘India’)

I am getting
groovy.lang.MissingPropertyException: No such property: country_dropdownbx for class: Script1564163871049

groovy.lang.MissingPropertyException: No such property: WSBuiltInKeywords for class

Hello, how are you all?
I’m having the same error, I’m calling a variable that I created in the variables section and it’s giving me this error once its called.

this is the script for the variable, it’s getting the data from a data file:

<?xml version="1.0" encoding="UTF-8"?> findTestData('WEB/Main Page/Users Management/Add Users/Status') c60d550d-b1b7-4ff4-8518-5152c30f2b2c false status

Solved my issue. Thanks!

I experienced the same issue and this fixed it. Happened when I copy pasted test code steps from another test case into a new one. Resolved it by adding the Keys import that didn’t automatically pull over.

=============== ROOT CAUSE =====================

For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/docs/troubleshooting.html

03-17-2021 08:32:47 AM Test Cases/ExecuteAutomation

Elapsed time: 3.227s

Test Cases/ExecuteAutomation FAILED.
Reason:
groovy.lang.MissingPropertyException: No such property: CucumberEARunner for class: Script1615888833419
at ExecuteAutomation.run(ExecuteAutomation:20)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:398)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:389)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:368)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:360)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:255)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1615966361979.run(TempTestCase1615966361979.groovy:25)

Please help me resolve this error.

Hi there, I just solved my problem in a different way in my case I
import org.openqa.selenium.Keys as Keys was there in the script and there is no problem with the script and it runs well with a few (1 or 2) variables but later I found that it was XML which is not formatted properly ( Variables (Script mode) ) option you can found it near manual | script | variable | Variables (Script mode) then you can copy all the XML and with the help of XML formatter you can beautify it and then replace it with original wola now the script is working tell me if it works for you. YOU JUST NEED TO FORMATE THE XML :slight_smile:

PLEASE HELP ME TO RESOLVE THE ISSUE

Test Cases/PostNew FAILED.
Reason:

groovy.lang.MissingPropertyException: No such property: name for class: Script1684912254124
	at PostNew.run(PostNew:22)
	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:448)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:439)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:418)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:410)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:285)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:144)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:135)
	at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
	at TempTestCase1684920414377.run(TempTestCase1684920414377.groovy:25)

Can you give us some context where you have the variable, name, at within your Keywords code?

Adding this import worked for me also

import org.openqa.selenium.Keys as Keys

1 Like