How to let RPA JavaAccessBridge library survive?

Hi Everybody,

We are densely using RPA’s JavaAccessBridge library to control a user authentication pop-up (Luxtrust SmartCard pop-up) used to access a web application.

The pop-up consists of a Java-UI which is itself encapsulated within a Windows UI, so that the JavaFX library, for example, does not work. Idem with any desktop library. This pop-up cannot be reached by Selenium or Browser libraries either because it is not part of a web application. It appears as a Windows UI.

Until now, RPA’s JavaAccessBridge library helped us greatly to overcome this difficulty and worked very well. However, this library is only available in a discontinued RPA package and will become obsolete in near future.

Would it be possible, somehow, to extract this library from the RPA package and make it available as an individual and maintained library ?

Unfortunately I do not have necessary technical skills to do that, but may be someone would be interested.

Best regards, and thanks in advance.

Can you post the link to the RPA module?

Here it is:
https://rpaframework.org/libraries/javaaccessbridge/index.html

Here is my first experiment with it (instructions from https://github.com/robocorp/java-access-bridge-wrapper):

C:\Users>java -version
java version "1.8.0_421"
Java(TM) SE Runtime Environment (build 1.8.0_421-b09)
Java HotSpot(TM) Client VM (build 25.421-b09, mixed mode, sharing)

C:\Users>jabswitch -enable
The Java Access Bridge has been enabled.

C:\Users>python --version
Python 3.12.2

C:\Users>pip install java-access-bridge-wrapper
Collecting java-access-bridge-wrapper
  Downloading java_access_bridge_wrapper-1.2.0-py3-none-any.whl.metadata (5.4 kB)
Requirement already satisfied: pywin32<307,>=300 in c:\python312\lib\site-packages (from java-access-bridge-wrapper) (306)
Downloading java_access_bridge_wrapper-1.2.0-py3-none-any.whl (32 kB)
Installing collected packages: java-access-bridge-wrapper
Successfully installed java-access-bridge-wrapper-1.2.0

I managed to import the library directly, and the keywords are found, but not the ones from RPA.

I did not had success in using the library.

The sample testcase (with SwingLibrary demo, did not noticed the demo app at github site):

*** Settings ***
Library           JABWrapper.jab_wrapper.JavaAccessBridgeWrapper    access_bridge_path=C:\\Program Files\\OpenJDK\\openjdk-8u282-b08\\jre\\bin\\WindowsAccessBridge-64.dll    AS    jab
Library           Process

*** Tasks ***
Add items to Swing application
    Start Process    java -cp .\\lib\\swinglibrary-1.1.2-SNAPSHOT-jar-with-dependencies.jar org.robotframework.swing.testapp.examplesut.TodoListApplication
    ...    shell=${TRUE}
    ...    cwd=${CURDIR}
    Sleep    5 seconds
    @{windows}=    jab.Get Windows
    Log Many    ${windows}
    # jab.Set Hwnd
    # jab.Set Text Contents    Todo List
    # jab.Click Element    role:push button and name:Add Todo Item

I used this batch file to set environment:

SET RC_JAVA_ACCESS_BRIDGE_DLL=C:\Program Files\OpenJDK\openjdk-8u282-b08\jre\bin\WindowsAccessBridge-64.dll
REM START ride .\Java_bridge.robot
REM java -cp .\lib\swinglibrary-1.1.2-SNAPSHOT-jar-with-dependencies.jar org.robotframework.swing.testapp.examplesut.TodoListApplication

Maybe you can use with the robocorp modules. Look at the tests in the github project.
Hope this helps. Good luck.

Now I see the library is part of robocorp open source libraries, here: https://github.com/robocorp/rpaframework

Many thanks for your time !