How to automate testing for Oracle Forms application in Katalon Studio?

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:

  1. What integration approach did you use (e.g., WinAppDriver, JAB Access Bridge, third-party tools)?
  2. Are there reusable libraries/plugins for Java applet interaction?

Thanks for any guidance!

2 Likes

Hi there, and thanks for posting in the Katalon community! :hugs:

To help you faster, please review our guide on Spy Web Utitliy here: Spy Web utility in Katalon Studio | Katalon Docs. Double-checking the steps and configurations might resolve the issue.

If the doc doesn’t help, feel free to provide more details, and a community member will assist you soon.

Thanks for being a part of our community!
Best,
Elly Tran

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.

Hi @moath.abukharmh,

Thank you for posting with more information. I am really familiar with Oracle Form. Bump this post to have more experts join support.

Hello,

This is what i got using Spy Windows Object

structured approach to this:


1. Understand the Oracle Forms Architecture

  • 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:
    1. 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
  1. 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:
    1. Launch Oracle Forms as a standalone desktop app (if possible) instead of via the browser.
    2. 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').
  • SikuliX: Image-based automation (uses screenshots).
    • 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

  1. Configure Environment:
  • Enable JAB or install WinAppDriver.
  • Ensure Oracle Forms runs in a compatible JRE.
  1. Identify Elements:
  • Use Inspect.exe (Windows SDK) or JAB Explorer to find locators (e.g., Name, AutomationId).
  1. Create Katalon Objects:
  • Use the Desktop Recorder to map Oracle Forms elements.
  • Store locators in Katalon’s Object Repository.
  1. Write Scripts:
  • Use Katalon’s Desktop keywords for WinAppDriver or custom JAB/AutoIt scripts.
  1. 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.
  • Security Restrictions: Configure Java security settings to allow automation (may require lowering security levels).

6. Alternative Tools

  • Oracle Application Testing Suite (OATS): Oracle’s official tool for Forms automation (paid).
  • Robot Framework + SwingLibrary: Open-source alternative for Java GUI testing.

Final Notes

  • Collaborate with Developers: Request accessibility properties (e.g., Name, Role) for critical elements.
  • Legacy Workaround: If automation is too complex, consider a hybrid approach (e.g., API testing for backend logic + minimal UI checks).