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 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.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.windows.keyword.WindowsBuiltinKeywords as Windows
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys
WebUI.openBrowser(ââ)
WebUI.navigateToUrl(âhttps://www.google.com/â)
WebUI.maximizeWindow()
WebUI.delay(5)
CustomKeywords.âcom.at.util.ScreenshotHelper.compareImagesâ(findTestObject(âgoogle/googleimgâ))
WebUI.delay(5)
WebUI.closeBrowser()
public class ScreenshotHelper {
@Keyword
public void takeWebElementScreenshot(TestObject object) {
WebElement element=WebUICommonHelper.findWebElement(object,20)
WebDriver driver = DriverFactory.getWebDriver();
Screenshot screenshot=new AShot().takeScreenshot(driver, element);
ImageIO.write(screenshot.getImage(),"PNG",new File (System.getProperty("user.dir") + "/Screenshots/IFrame.png"))
}
Console Log:
2023-08-02 21:46:18.255 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2023-08-02 21:46:18.273 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/TestGoogle
2023-08-02 21:46:21.273 DEBUG testcase.TestGoogle - 1: openBrowser(ââ)
2023-08-02 21:46:22.699 INFO c.k.k.core.webui.driver.DriverFactory - Starting âChromeâ driver
Aug 02, 2023 9:46:22 PM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using new ChromeOptions()
is preferred to DesiredCapabilities.chrome()
2023-08-02 21:46:22.908 INFO c.k.k.core.webui.driver.DriverFactory - Action delay is set to 0 milliseconds
Starting ChromeDriver 114.0.5735.90 (386bc09e8f4f2e025eddae123f36f6263096ae49-refs/branch-heads/5735@{#1052}) on port 36369
Only local connections are allowed.
Please see ChromeDriver - WebDriver for Chrome - Security Considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
[1690992987.986][WARNING]: This version of ChromeDriver has not been tested with Chrome version 115.
Aug 02, 2023 9:46:28 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
2023-08-02 21:46:29.209 INFO c.k.k.core.webui.driver.DriverFactory - sessionId = abeb3f978a2d71704f5f4601cf4b9edb
2023-08-02 21:46:29.273 INFO c.k.k.core.webui.driver.DriverFactory - browser = Chrome 115.0.0.0
2023-08-02 21:46:29.275 INFO c.k.k.core.webui.driver.DriverFactory - platform = Windows 10
2023-08-02 21:46:29.276 INFO c.k.k.core.webui.driver.DriverFactory - seleniumVersion = 3.141.59
2023-08-02 21:46:29.280 INFO c.k.k.core.webui.driver.DriverFactory - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList=ââ, isApplyToDesiredCapabilities=true }
2023-08-02 21:46:29.337 DEBUG testcase.TestGoogle - 2: navigateToUrl(âhttps://www.google.com/â)
2023-08-02 21:46:32.058 DEBUG testcase.TestGoogle - 3: maximizeWindow()
2023-08-02 21:46:32.409 DEBUG testcase.TestGoogle - 4: delay(5)
2023-08-02 21:46:37.602 DEBUG testcase.TestGoogle - 5: com.at.util.ScreenshotHelper.compareImages(findTestObject(âgoogle/googleimgâ))
2023-08-02 21:47:19.946 ERROR k.k.c.m.CustomKeywordDelegatingMetaClass - No signature of method: com.at.util.ScreenshotHelper.compareImages() is applicable for argument types: (com.kms.katalon.core.testobject.TestObject) values: [TestObject - âObject Repository/google/googleimgâ]
2023-08-02 21:48:59.925 ERROR c.k.katalon.core.main.TestCaseExecutor - Test Cases/TestGoogle FAILED.
Reason:
com.kms.katalon.core.exception.StepErrorException: org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: com.at.util.ScreenshotHelper.compareImages() is applicable for argument types: (com.kms.katalon.core.testobject.TestObject) values: [TestObject - âObject Repository/google/googleimgâ]
at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.throwError(CustomKeywordDelegatingMetaClass.java:101)
at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.invokeStaticMethod(CustomKeywordDelegatingMetaClass.java:73)
at TestGoogle.run(TestGoogle:28)
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 TempTestCase1690992966809.run(TempTestCase1690992966809.groovy:25)
Caused by: org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: com.at.util.ScreenshotHelper.compareImages() is applicable for argument types: (com.kms.katalon.core.testobject.TestObject) values: [TestObject - âObject Repository/google/googleimgâ]
2023-08-02 21:49:04.564 ERROR c.k.katalon.core.main.TestCaseExecutor - Test Cases/TestGoogle FAILED.
Reason:
org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: com.at.util.ScreenshotHelper.compareImages() is applicable for argument types: (com.kms.katalon.core.testobject.TestObject) values: [TestObject - âObject Repository/google/googleimgâ]