Hi folks,
We have recently upgraded to Eggplant Functional 25.3.102 and we use RDP to connect to our SUTs. We had issues initially with opening RDP connections inside scripts, until we modified the General Preferences - Connection - Use New RDP Connection property to always be TRUE. Our scripts now work from Eggplant Functional, but fail if run from Runscript.sh, which we use when testing from continuous integration code pipelines. Is there a way to set this property to TRUE when running a script / suite using Runscript.sh do you know please?
Worked out a solution to this - we were using Runscript.sh from a Windows Service Account as part of our CI/CD pipeline, and we found we needed to start an Eggplant Functional session for that user, set the option in the UI, and also create one Connection in the Connection List with the appropriate protocol (RDP) and screen geometry (1024x768), before using that account to run a script with Runscript. It seems that doing these two things in the UI adds settings to the %APPDATA%/Roaming/Eggplant/Defaults/ Plist file is read on subsequent start-ups of the tool, whether Runscript is running or whether Eggplant Functional is running.
Thanks for sharing the solution. That makes sense, as Eggplant Functional appears to rely on certain user-specific settings being initialized and stored in the Official Site %APPDATA%/Roaming/Eggplant/Defaults/ plist file before Runscript.sh can run correctly under a Windows service account. In our experience, simply configuring the service account is not enough—the account must first launch an Eggplant Functional session, enable the required options in the UI, and have at least one valid connection configured (such as RDP with the desired screen resolution). Once those settings are written to the defaults file, subsequent executions through Runscript.sh work reliably, even when the full Eggplant Functional UI is not running. This is a useful tip for anyone automating Eggplant through CI/CD pipelines.
Hello, Is there a supported way in Functional 25.3 to enforce “Use New RDP Connection” globally for CLI executions so Runscript.sh behaves identically to the GUI environment?
You can’t set Use New RDP Connection directly in Runscript.sh; instead, you need to configure it at the suite level. Add the property to your suite’s Preferences.plist or set it via command-line options before invoking the script, so the run inherits the TRUE value when executed outside Eggplant Functional.