Java automation

This feature is subject to licensing restrictions. Please see the licensing page for further information.

Java automation provides a series of specialized techniques for interfacing with applications written in the Java programming language. To take advantage of these features, you should specify that your application is of type Java when running the Application Modeller wizard. Alternatively, Java integration techniques are also available from within browser applications when the appropriate application parameter is selected in the Application Modeller wizard.

Requirements

Java 8 and Java 11 are supported. For more information, see the Java Access Bridge user guide.

Usage

Java applications are accessed in the same way as any other application in Object Studio, using the spy tool from the Application Modeller. See the list of Java attributes returned by the spy tool for more information about identifying elements within your target application.

  • Business objects that model 32-bit Java applications must be set to use embedded or external 32-bit mode.
  • Business objects that model 64-bit Java applications must be set to use the external 64-bit mode.

Java automations should not be run by runtime resources with elevated permissions as this will cause issues when interacting with the Java Access Bridge (JAB). The permissions of the runtime resources must match those of the JAB user context.

Limitations

There are limitations on Java modal dialogs when using integrated automation approaches. This fact is documented on Sun's mailing list. However, Blue Prism provides several other tools which allow interaction with modal dialogs, including bitmap recognition, font recognition, and the use of regions for basic user interaction (such as clicking of the mouse).

Troubleshooting

The target application crashes when highlighting or accessing elements

If elements spy correctly, but then the target application crashes when attempting to highlight or otherwise interact with those elements, the problem is likely to be caused by a flaw in the Java Access Bridge components, which have problems with large numbers (approximately 200 or more) or elements on a single screen. You can prevent this crashing by enabling the 'descendtree' target application option in Application Modeller. This mode is significantly slower, so should only be used when necessary.

Performance tips

When using 'descendtree' mode, significant performance gains can be achieved by using the AncestorCount, MatchIndex and MatchReverse identifiers to limit the scope of a query.