WebUI.verifyImagePresent keyword does not work in the Katalon Studio Arm64 v9.0 due to "no jniopencv_core in java.library.path"

MacBook Air M1, 8GB. macOS 12.7.1, Chrome 119.0.6045.159,
Katalon Studio Arm64 v9.0.0

See the attached zip for the project:

ks_verifyImagePresent.zip (186.5 KB)

I wanted to see if WebUI.verifyImagePresent keyword works for me.

I made a local HTML file that looks like this:

I made a TestObject for Image like this:

I made a Test Case TC1

import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject

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

File page1 = new File("page1.html")

WebUI.openBrowser(page1.toURI().toURL().toString())
WebUI.verifyImagePresent(findTestObject("apple"))
WebUI.closeBrowser()

When I ran the Test Case, it failed with the following messages:

2023-11-28 20:10:59.048 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2023-11-28 20:10:59.049 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/TC1
2023-11-28 20:10:59.203 DEBUG testcase.TC1                             - 1: page1 = new java.io.File(page1.html)
2023-11-28 20:10:59.208 DEBUG testcase.TC1                             - 2: openBrowser(toURL().toString())
2023-11-28 20:10:59.308 INFO  c.k.k.core.webui.driver.DriverFactory    - Starting 'Chrome' driver
Nov 28, 2023 8:10:59 PM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
2023-11-28 20:10:59.322 INFO  c.k.k.core.webui.driver.DriverFactory    - Action delay is set to 0 milliseconds
Starting ChromeDriver 119.0.6045.105 (38c72552c5e15ba9b3117c0967a0fd105072d7c6-refs/branch-heads/6045@{#1103}) on port 47164
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Nov 28, 2023 8:11:00 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
2023-11-28 20:11:00.540 INFO  c.k.k.core.webui.driver.DriverFactory    - sessionId = e7179985858cf0106c8f8d0875b6eea5
2023-11-28 20:11:00.554 INFO  c.k.k.core.webui.driver.DriverFactory    - browser = Chrome 119.0.0.0
2023-11-28 20:11:00.556 INFO  c.k.k.core.webui.driver.DriverFactory    - platform = Mac OS X
2023-11-28 20:11:00.557 INFO  c.k.k.core.webui.driver.DriverFactory    - seleniumVersion = 3.141.59
2023-11-28 20:11:00.562 INFO  c.k.k.core.webui.driver.DriverFactory    - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList="", isApplyToDesiredCapabilities=true }
2023-11-28 20:11:00.625 DEBUG testcase.TC1                             - 3: verifyImagePresent(findTestObject("apple"))
2023-11-28 20:11:01.292 ERROR c.k.k.core.keyword.internal.KeywordMain  - ❌ Unable to verify image present (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to verify image present
	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.VerifyImagePresentKeyword.verifyImagePresent(VerifyImagePresentKeyword.groovy:94)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword.execute(VerifyImagePresentKeyword.groovy:67)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyImagePresent(WebUiBuiltInKeywords.groovy:2794)
	at TC1.run(TC1:8)
	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 TempTestCase1701169857504.run(TempTestCase1701169857504.groovy:25)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path: /Users/kazuakiurayama/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
	at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:444)
	at com.googlecode.javacpp.Loader.load(Loader.java:368)
	at com.googlecode.javacpp.Loader.load(Loader.java:315)
	at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:131)
	at com.googlecode.javacpp.Loader.load(Loader.java:334)
	at com.googlecode.javacpp.Loader.load(Loader.java:315)
	at com.googlecode.javacv.cpp.opencv_core$CvArr.<clinit>(opencv_core.java:158)
	at org.sikuli.core.cv.ImagePreprocessor.createGrayscale(ImagePreprocessor.java:52)
	at org.sikuli.core.search.algorithm.TemplateMatcher.findMatchesByGrayscaleAtOriginalResolution(TemplateMatcher.java:18)
	at org.sikuli.api.ImageTarget.getUnordredMatches(ImageTarget.java:122)
	at org.sikuli.api.DefaultTarget.doFindAll(DefaultTarget.java:93)
	at org.sikuli.api.DefaultScreenRegion._find(DefaultScreenRegion.java:73)
	at org.sikuli.api.DefaultScreenRegion.find(DefaultScreenRegion.java:64)
	at com.kms.katalon.core.webui.common.ScreenUtil.findImage(ScreenUtil.java:121)
	at com.kms.katalon.core.webui.common.ScreenUtil.isImageExist(ScreenUtil.java:48)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.doCall(VerifyImagePresentKeyword.groovy:88)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.call(VerifyImagePresentKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword.verifyImagePresent(VerifyImagePresentKeyword.groovy:94)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword.execute(VerifyImagePresentKeyword.groovy:67)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyImagePresent(WebUiBuiltInKeywords.groovy:2794)
	at Script1701132270828.run(Script1701132270828.groovy:8)
	... 13 more
)
2023-11-28 20:11:01.294 ERROR c.k.katalon.core.main.TestCaseExecutor   - ❌ Test Cases/TC1 FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to verify image present
	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.VerifyImagePresentKeyword.verifyImagePresent(VerifyImagePresentKeyword.groovy:94)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword.execute(VerifyImagePresentKeyword.groovy:67)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyImagePresent(WebUiBuiltInKeywords.groovy:2794)
	at TC1.run(TC1:8)
	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 TempTestCase1701169857504.run(TempTestCase1701169857504.groovy:25)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path: /Users/kazuakiurayama/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
	at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:444)
	at com.googlecode.javacpp.Loader.load(Loader.java:368)
	at com.googlecode.javacpp.Loader.load(Loader.java:315)
	at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:131)
	at com.googlecode.javacpp.Loader.load(Loader.java:334)
	at com.googlecode.javacpp.Loader.load(Loader.java:315)
	at com.googlecode.javacv.cpp.opencv_core$CvArr.<clinit>(opencv_core.java:158)
	at org.sikuli.core.cv.ImagePreprocessor.createGrayscale(ImagePreprocessor.java:52)
	at org.sikuli.core.search.algorithm.TemplateMatcher.findMatchesByGrayscaleAtOriginalResolution(TemplateMatcher.java:18)
	at org.sikuli.api.ImageTarget.getUnordredMatches(ImageTarget.java:122)
	at org.sikuli.api.DefaultTarget.doFindAll(DefaultTarget.java:93)
	at org.sikuli.api.DefaultScreenRegion._find(DefaultScreenRegion.java:73)
	at org.sikuli.api.DefaultScreenRegion.find(DefaultScreenRegion.java:64)
	at com.kms.katalon.core.webui.common.ScreenUtil.findImage(ScreenUtil.java:121)
	at com.kms.katalon.core.webui.common.ScreenUtil.isImageExist(ScreenUtil.java:48)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.doCall(VerifyImagePresentKeyword.groovy:88)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.call(VerifyImagePresentKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	... 18 more

2023-11-28 20:11:01.299 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/TC1

The following message tells me that there is a serious problem in Katalon Studio.

Caused by: java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path:

I remember, several years ago, I had a bit of experience of using the WebUI.verifyImagePresent keyword. Possiblly it was Katalon Studio v7.x on Windows. I seem to remember, it ran without error about the jniopencv_core.

I suppose that Katalon Studio Arm64 v9 forgot to bundle the native jniopencv_core module.

1 Like

I tried to run the same project, the same test case on
Windows 10, Katalon Studio v8.6.8.

However the keyword verifyElementPresent failed:

2023-11-29 10:30:49.280 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2023-11-29 10:30:49.280 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/TC1
2023-11-29 10:30:49.939 DEBUG testcase.TC1                             - 1: page1 = new java.io.File(page1.html)
2023-11-29 10:30:49.955 DEBUG testcase.TC1                             - 2: openBrowser(toURL().toString())
2023-11-29 10:30:50.586 INFO  c.k.k.core.webui.driver.DriverFactory    - Starting 'Chrome' driver
11 29, 2023 10:30:50 εˆε‰ org.openqa.selenium.remote.DesiredCapabilities chrome
ζƒ…ε ±: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
2023-11-29 10:30:50.694 INFO  c.k.k.core.webui.driver.DriverFactory    - Action delay is set to 0 milliseconds
Starting ChromeDriver 119.0.6045.105 (38c72552c5e15ba9b3117c0967a0fd105072d7c6-refs/branch-heads/6045@{#1103}) on port 39420
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
11 29, 2023 10:30:57 εˆε‰ org.openqa.selenium.remote.ProtocolHandshake createSession
ζƒ…ε ±: Detected dialect: W3C
2023-11-29 10:30:57.668 INFO  c.k.k.core.webui.driver.DriverFactory    - sessionId = 0cf665c71db73aa3d01beb39cb206298
2023-11-29 10:30:57.706 INFO  c.k.k.core.webui.driver.DriverFactory    - browser = Chrome 119.0.0.0
2023-11-29 10:30:57.707 INFO  c.k.k.core.webui.driver.DriverFactory    - platform = Windows 10
2023-11-29 10:30:57.708 INFO  c.k.k.core.webui.driver.DriverFactory    - seleniumVersion = 3.141.59
2023-11-29 10:30:57.710 INFO  c.k.k.core.webui.driver.DriverFactory    - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList="", isApplyToDesiredCapabilities=true }
2023-11-29 10:30:58.420 DEBUG testcase.TC1                             - 3: verifyImagePresent(findTestObject("apple"))
2023-11-29 10:31:02.817 ERROR c.k.k.core.keyword.internal.KeywordMain  - ❌ Image: 'a-bite-in-the-apple.png' is NOT present (Root cause: com.kms.katalon.core.exception.StepFailedException: Image: 'a-bite-in-the-apple.png' is NOT present
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.doCall(VerifyImagePresentKeyword.groovy:92)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.call(VerifyImagePresentKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword.verifyImagePresent(VerifyImagePresentKeyword.groovy:94)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword.execute(VerifyImagePresentKeyword.groovy:67)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyImagePresent(WebUiBuiltInKeywords.groovy:2794)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$verifyImagePresent$0.call(Unknown Source)
	at TC1.run(TC1:8)
	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 TempTestCase1701221443796.run(TempTestCase1701221443796.groovy:25)
)
2023-11-29 10:31:02.996 ERROR c.k.k.core.keyword.internal.KeywordMain  - ❌ Unable to verify image present (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to verify image present
	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.VerifyImagePresentKeyword.verifyImagePresent(VerifyImagePresentKeyword.groovy:94)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword.execute(VerifyImagePresentKeyword.groovy:67)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyImagePresent(WebUiBuiltInKeywords.groovy:2794)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$verifyImagePresent$0.call(Unknown Source)
	at TC1.run(TC1:8)
	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 TempTestCase1701221443796.run(TempTestCase1701221443796.groovy:25)
Caused by: com.kms.katalon.core.exception.StepFailedException: Image: 'a-bite-in-the-apple.png' is NOT present
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.doCall(VerifyImagePresentKeyword.groovy:92)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.call(VerifyImagePresentKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	... 17 more
)
2023-11-29 10:31:03.000 ERROR c.k.katalon.core.main.TestCaseExecutor   - ❌ Test Cases/TC1 FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to verify image present
	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.VerifyImagePresentKeyword.verifyImagePresent(VerifyImagePresentKeyword.groovy:94)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword.execute(VerifyImagePresentKeyword.groovy:67)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyImagePresent(WebUiBuiltInKeywords.groovy:2794)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$verifyImagePresent$0.call(Unknown Source)
	at TC1.run(TC1:8)
	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 TempTestCase1701221443796.run(TempTestCase1701221443796.groovy:25)
Caused by: com.kms.katalon.core.exception.StepFailedException: Image: 'a-bite-in-the-apple.png' is NOT present
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.doCall(VerifyImagePresentKeyword.groovy:92)
	at com.kms.katalon.core.webui.keyword.builtin.VerifyImagePresentKeyword$_verifyImagePresent_closure1.call(VerifyImagePresentKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	... 17 more

2023-11-29 10:31:03.011 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/TC1

But the cause of the failure is not the jniopencv_core. I suppose that the jniopencv_core was found in this envrionment.

I tried to run the same project, the same test case on
macOS 12.7.1, Katalon Studio v8.6.8.

The test case just passed OK.

2023-11-29 10:47:35.033 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2023-11-29 10:47:35.035 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/TC1
2023-11-29 10:47:35.535 DEBUG testcase.TC1                             - 1: page1 = new java.io.File(page1.html)
2023-11-29 10:47:35.544 DEBUG testcase.TC1                             - 2: openBrowser(toURL().toString())
2023-11-29 10:47:35.828 INFO  c.k.k.core.webui.driver.DriverFactory    - Starting 'Chrome' driver
Nov 29, 2023 10:47:35 AM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
2023-11-29 10:47:35.870 INFO  c.k.k.core.webui.driver.DriverFactory    - Action delay is set to 0 milliseconds
Starting ChromeDriver 119.0.6045.105 (38c72552c5e15ba9b3117c0967a0fd105072d7c6-refs/branch-heads/6045@{#1103}) on port 44686
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Nov 29, 2023 10:47:43 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
2023-11-29 10:47:43.783 INFO  c.k.k.core.webui.driver.DriverFactory    - sessionId = de4245ed2d5b6706d43e0a83ed385cb7
2023-11-29 10:47:43.861 INFO  c.k.k.core.webui.driver.DriverFactory    - browser = Chrome 119.0.0.0
2023-11-29 10:47:43.862 INFO  c.k.k.core.webui.driver.DriverFactory    - platform = Mac OS X
2023-11-29 10:47:43.862 INFO  c.k.k.core.webui.driver.DriverFactory    - seleniumVersion = 3.141.59
2023-11-29 10:47:43.864 INFO  c.k.k.core.webui.driver.DriverFactory    - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList="", isApplyToDesiredCapabilities=true }
2023-11-29 10:47:45.619 DEBUG testcase.TC1                             - 3: verifyImagePresent(findTestObject("apple"))
2023-11-29 10:47:50.704 DEBUG testcase.TC1                             - 4: closeBrowser()
2023-11-29 10:47:50.903 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/TC1

Now I suppose that Katalon Studio Arm64 v9.0 misses the jniopencv_core binary.

I don’t know if the jniopencv_core binary native for Mac Arm64 processor is available or not. I guess, it isn’t.

To be honest, I would not mind it if the WebUI.verifyImagePresent keyword is NOT available for Mac Arm64.

Thank you Kazurayam for letting the community knows about this issue. As you have appended the bugs-report tag on your topic, we will also be moving your topic to the Bugs Report category so that it get more visibility from our Product Team.

Thanks, :+1:
Albert

Hi em, could you look into this topic when you are available. Thanks!

Hi @kazurayam

They mentioned in their release note as known limitation: Katalon Studio Release Notes: Version 9.x | Katalon Docs

OK. I got it.