Java Window not correctly identified in Citrix but in Local environment

Dear All,

I have a strange behaviour which drives me currently crazy. I am developing a bot for some kind of automatic trading which uses an vendor specific Java Applet (via java webstart). Intention is that the attended bot runs on a Citrix environment triggered by a user (with an estalibshed RDP connection).

Use Case: the bot is checking at start if the java app is already loaded (via “Element Exists”) otherwise it would load the app via commanline from scratch.

Selectors for “ElementExist” are:

wnd app=‘jp2launcher.exe’ cls=‘SunAwtFrame’ title=‘TEX-INT Platform - 360T TexApplet’ /><java cls=‘Dashboard’ role=‘panel’

Java WebStart is triggered by:

“C:\Program Files (x86)\Java\jre1.8.0_221\bin\javaws.exe” -localfile -J-Djnlp.application.href=[https:/xxxx.com/getdown/jnlp/tex/login].jnlp “C:\Users[xxxx]\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\47\1041deef-65c0941a”

I have checked that both “machines” (local & citrix windows installations) and have the identical java version (JRE 1.8.0_221) installed.

Problem:

When running the process on the local machine via debugging in Studio the java applet window is corretly recognized (“ElementExists” returns True) and the process runs smothly as expected.

When running the process on the citrix environment (w/o any change) “ElementExists” return always False.
Validation in UI-Explorer on local machine works. Validation in UI Explorere on Citrix does not work (validation is indicated red). But once I indicate the element in “Element Exist” in Studio on Citrix again - validation jumps to green and i can run the process in Studio correctly.

In UI Explorer (Citrix vs. Local machine) the only difference I could then identify are the following attributes (Citrix / Local):

  • nwnd (0xC06C4 / 0x3C1264)
  • PID (8456 / 1612)
  • and of course position…

I have tried to reduce possible problems by doing the following:

  • manual start of the web java applet works on the Citrix machine as expected;
  • I have wrapped the “ElementExist” under an “Attach Window” Activity - same result, no improvement;
  • I have installed Studio on the Citrix environment to check if I can select not only the whole java window but individual buttons as well - this works well and suggest to me that Java is correctly install;
  • I have newly identified/selected the window in Studio (Citrix environment) and published the workflow again to orchenstrator >> process runs correctly !! via UiPath Assistant (Citrix)

What could cause the virtual environment not to recognize the java window at runtime correctly when development and publishing was done on the local machine’s Studio?

Many thanks for any help!

Best
Björn

Hi @BB76 ,

Can you please share the selector that is validated on the Citrix env?

Thanks.

Hi @vlad.coteanu ,

sure - this is the selector once I have renewed the identification in the Citrix Studio:

wnd app=‘jp2launcher.exe’ cls=‘SunAwtFrame’ title=‘TEX-INT Platform - 360T TexApplet’ />

nwnd, PID are again different - don’t know if this has anything to say.

Best regards
Björn

So the generated selector on the Citrix env is exactly the same as the one on your machine? Different PID is ok.
What happens in this scenario: Indicate the element to get a valid selector in Citrix env. Close the app. Validate the selector (do not indicate again). ?

Hi,

yes. on the surface no difference regarding selector.
I have done as suggested:
open/running App →
new indication →
validation: green →
closing App →
valdiation: red

Sorry, my bad, restart the app, not just close it :D. I am curios if validation without indication works on a newly opened app.

okay.
Starting App >
new Indication >
Validation (green) >
Closing App (not Studio as well!) >
Restarting App >
Validation (green) works

@vlad.coteanu

Hi Vlad,

could you please let me know, if you are still on the “hunt” to see where the problem might be?

Many thanks
BR
Björn

Since the last scenario works, maybe there is a problem/version mismatch regarding the Citrix extension.

Other types of automation work across the Citrix env (A simple interaction with the notepad or other simple app)?

Reading Windows Data Folder and evaluation of its content works.

I have encountered another issue. The Log-In window could be successfully attached and recognized as outlined above.

Next step would be to check if there is a certain btn visible “LogOut” - this does not work on Citrix

Selectors on Citrix generated is with red validation:

“< java name=‘Logout’ role=‘push button’ />”