groovy.lang.MissingMethodException Error for Execute Java Script

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.webui.keyword.WebUiBuiltInKeywords.executeJavaScript

import org.openqa.selenium.WebElement

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.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.testobject.TestObject as TestObject

import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords

import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS

import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords

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

import internal.GlobalVariable as GlobalVariable

import com.kms.katalon.core.webui.common.WebUiCommonHelper

import com.kms.katalon.core.webui.driver.DriverFactory

import org.openqa.selenium.By.ByCssSelector

import org.openqa.selenium.By.ById

import org.openqa.selenium.JavascriptExecutor

import org.openqa.selenium.WebDriver

import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory

import com.thoughtworks.selenium.Selenium

import org.openqa.selenium.firefox.FirefoxDriver

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(’’)

WebUI.navigateToUrl(‘http://osc.qa.motorpass.com.au/’)

WebDriver driver=DriverFactory.getWebDriver();

WebElement element = WebUiCommonHelper.findWebElement(findTestObject(‘dd/Page_Add a new card WEX Motorpass/span_QLD’), 30)

//(‘CardGoldenNetworkList_3__IsSelected’)

JavascriptExecutor executor = (JavascriptExecutor)driver;

WebUI.executeJavaScript(“driver.getElementById(‘CardGoldenNetworkList_3__IsSelected’).setAttribute(‘style’,‘display: block’)”, element)

//WebUI.executeJavaScript(‘arguements[0].setAttribute(“style”,“display: block”)’, element)

//executor.executeScript(‘arguements[0].setAttribute(“style” ,“visibility: visible;”)’, element);

WebUI.click(findTestObject(‘dd/Page_Add a new card WEX Motorpass/span_QLD’))

WebUI.click(findTestObject(‘Object Repository/dd/Page_Add a new card WEX Motorpass/input_Submit’))

WebUI.closeBrowser()

**Error Message: **

Test Cases/DD FAILED because (of) groovy.lang.MissingMethodException: No signature of method: static com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.executeJavaScript() is applicable for argument types: (java.lang.String, org.openqa.selenium.remote.RemoteWebElement) values: [driver.getElementById(‘CardGoldenNetworkList_3__IsSelected’).setAttribute(‘style’,‘display: block’), …]

Possible solutions: executeJavaScript(java.lang.String, java.util.List), executeJavaScript(java.lang.String, java.util.List, com.kms.katalon.core.model.FailureHandling)

this is hidden check box that we have to click.So trying to make it visible using Javascript and then click on it.

Hello,

you call executeJavaScript method with invalid parameters. Following parameters can be used:

WebUiBuiltInKeywords.executeJavaScript(String script, List arguments)
  • Parameters:

    script - The JavaScript to execute.

    arguments - The arguments to the script. May be empty or null.

executor.executeScript(“arguements[0].setAttribute(\“style\” ,\“display:block\”)”, element);
I tried this as well.
throws an error as below-
"Test Cases/DD FAILED because (of) org.openqa.selenium.WebDriverException: unknown error: arguements is not defined

** (Session info: chrome=68.0.3440.106)**

** (Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)**

Command duration or timeout: 0 milliseconds"

WebDriver driver=DriverFactory.getWebDriver();

WebElement element = WebUiCommonHelper.findWebElement(findTestObject(‘dd/Page_Add a new card WEX Motorpass/span_QLD’), 30)

executor.executeScript(“arguements[0].setAttribute(\“style\” ,\“display:block\”)”, element);

WebUI.click(findTestObject(‘dd/Page_Add a new card WEX Motorpass/span_QLD’))

WebUI.click(findTestObject(‘Object Repository/dd/Page_Add a new card WEX Motorpass/input_Submit’))

WebUI.closeBrowser()

above is the complete bit of code I am using

arguements -> arguments
:slight_smile:

1 Like

Try this:

WebUI.executeJavaScript('arguements[0].setAttribute("style","display: block")', null)

I am using the below given code and it is now not throwing the error for arguments or Set method exception. but i am still facing issue in checking the checkbox.Even after I have set attribute as “visible” I am getting still the error as “Element not visible”.Kindly find the details as given below-

code:

WebDriver driver=DriverFactory.getWebDriver();

WebElement element = WebUiCommonHelper.findWebElement(findTestObject(‘dd/Page_Add a new card WEX Motorpass/span_QLD’), 30)

executor.executeScript(“arguments[0].setAttribute(\“style\” ,\“visibility:visible\”)”, element);

//WebUI.click(findTestObject(‘dd/Page_Add a new card WEX Motorpass/span_QLD’))

WebUI.check(findTestObject(‘dd/Page_Add a new card WEX Motorpass/span_QLD’))

WebUI.click(findTestObject(‘Object Repository/dd/Page_Add a new card WEX Motorpass/input_Submit’))

WebUI.closeBrowser()

**Error:
**

Unable to check object ‘Object Repository/dd/Page_Add a new card WEX Motorpass/span_QLD’ (Root cause: org.openqa.selenium.ElementNotVisibleException: element not visible

(Session info: chrome=68.0.3440.106)

You need to import both of these driver factories at the top (both from Selenium and Katalon) to see which one makes your code working:

import com.kms.katalon.core.webui.driver.DriverFactory
import org.openqa.selenium.remote.server.DriverFactory