I’m attempting to automate tests for a legacy Oracle Forms application (launched via browser but runs as a Java applet) using Katalon Studio. Standard web locators fail to recognize form elements (text fields, buttons, etc.) since the UI renders as a Java applet, not HTML.
What I’ve tried:
Katalon’s native Windows Recorder/Spy: Cannot identify objects inside the applet.
Has anyone successfully automated Oracle Forms within Katalon? If so:
What integration approach did you use (e.g., WinAppDriver, JAB Access Bridge, third-party tools)?
Are there reusable libraries/plugins for Java applet interaction?
I originally mentioned using Katalon’s Web Recorder, but I’m actually using the Windows Recorder/Spy. The application is a Java applet-based Oracle Forms app that runs as a Windows desktop UI after launch. Updating the post accordingly.
Oracle Forms runs as a Java applet embedded in a browser, rendering UI elements as Java AWT/Swing components.
Standard web locators (XPath, CSS) will not work because the UI is not HTML-based.
2. Recommended Tools/Approaches
Since Katalon Studio lacks direct support for Java applets, use these integrations:
A. Java Access Bridge (JAB)
What it does: Enables accessibility tools to interact with Java AWT/Swing applications.
Setup:
Enable JAB in the Java Runtime Environment (JRE):
Add JAB DLLs (WindowsAccessBridge-XX.dll, JavaAccessBridge-XX.dll) to the JRE’s bin folder.
Enable accessibility in the JRE config:
text
# Add to `jre\lib\accessibility.properties`
assistive_technologies=com.sun.java.accessibility.AccessBridge
Use Katalon + JAB libraries to interact with Oracle Forms elements.
Limitations: Requires JRE configuration and may need custom coding.
B. WinAppDriver + Katalon Desktop Automation
What it does: Use Windows Application Driver (WinAppDriver) to automate Java apps as desktop UIs.
Setup:
Launch Oracle Forms as a standalone desktop app (if possible) instead of via the browser.
Use Katalon’s Desktop Recorder with WinAppDriver:
Identify elements using Inspect.exe (UIAutomation).
Use ClassName, Name, or AutomationId locators for Java AWT/Swing controls.
Example Katalon Script:
groovy
import com.kms.katalon.core.desktop.keyword.DesktopBuiltinKeywords as Desktop
// Launch Oracle Forms app
Desktop.startApplication('C:\\path_to_app\\your_forms_app.exe')
// Click a button using WinAppDriver locators
Desktop.click(findWindowsObject('Object Repository/your_button'))
// Input text into a field
Desktop.setText(findWindowsObject('Object Repository/your_text_field'), 'Test Data')
C. AutoIt or SikuliX Integration
AutoIt: Scriptable tool for Windows GUI automation.
Write AutoIt scripts to interact with Java applet elements via coordinates/controls.
Execute AutoIt scripts from Katalon using Runtime.getRuntime().exec('your_script.au3').
Use SikuliX keywords in Katalon to click/verify images of UI elements.
groovy
import org.sikuli.script.Screen
Screen screen = new Screen()
screen.click('path_to_image/button.png')
Limitations: Fragile if UI changes; requires screenshot management.
3. Workflow for Katalon Integration
Configure Environment:
Enable JAB or install WinAppDriver.
Ensure Oracle Forms runs in a compatible JRE.
Identify Elements:
Use Inspect.exe (Windows SDK) or JAB Explorer to find locators (e.g., Name, AutomationId).
Create Katalon Objects:
Use the Desktop Recorder to map Oracle Forms elements.
Store locators in Katalon’s Object Repository.
Write Scripts:
Use Katalon’s Desktop keywords for WinAppDriver or custom JAB/AutoIt scripts.
Handle Security Dialogs:
Use AutoIt/SikuliX to automate Java security warnings during applet launch.
4. Example: WinAppDriver + Katalon
groovy
// Verify a form field exists
WebUI.callTestCase(findTestCase('Launch Oracle Forms'), [:])
Desktop.verifyElementPresent(findWindowsObject('Object Repository/username_field'), 10)
// Input data and submit
Desktop.setText(findWindowsObject('username_field'), 'user123')
Desktop.setText(findWindowsObject('password_field'), 'pass123')
Desktop.click(findWindowsObject('submit_button'))
5. Troubleshooting Tips
Element Not Found: Ensure JAB/WinAppDriver is properly configured and the Oracle Forms app is running with accessibility enabled.
Performance Issues: Java applets are resource-heavy; add delays between actions.