encodeText & decodeText

A few years back I added encryption of our SUT passwords to a few scripts as a proof of concept exercise via Text Encryption. It worked well but the average execution time for the scripts did increase a tick. Ultimately we determined our test environment had enough inherent security (and the SUT passwords weren’t overly important to protect) and I removed the code.

I am curious, though, if anyone has been using this with recent Eggplant Functional releases and whether any significant hit to the execution time has been measured. I still have this nagging need to put the code back in but haven’t tried it with the last few EF releases. For scripts being executed in Eggplant Manager, I suspect a small increase in execution time is irrelevant as long as the scripts do their job, and they aren’t impacted in any significant way.

I haven’t looked at how system performance is affected by scripts using these functions. If anyone has data on whether the system takes a hit in performance of any significance that would also be good to know :wink:

Hi @chrisbryant, we do use encode and decode, and primarily because the initial hop in a test suite via RDP is onto a management server that acts as a “bastion” for connecting to the SUT, and that the second connection needs credentials. We haven’t noticed any increase in execution time, most of the delays are caused by waitfor statements that we use frequently. So to answer your question, we do use these functions frequently and they don’t cause a performance problem, but you should know that we run the scripts on virtual machines with 32 virtual processors running at 2.5 GHz and a large amount of memory (128Gb). There are usually three or four developers of Eggplant scripts coding and testing scripts concurrently.

1 Like

Hey Chris and webbje,

Did you check the setvaultvalue and getvaultvalue in combination with typehiddentext.
Typehiddentext will only be shown as **** in the logs
Set/Getvaultvalue are utilising the operating systems credentials managers
The passwords need to be set once on the EPF machines and can be retrieved via the get.

combine type and get to this. Do not store it in a variable

Setvaultvalue "MyUser", "MYPASSWORD"
typehiddentext getvaultvalue "MyUser"

The vaultvalues can be updated within a CICD pipeline as well.
Not sure why you need de and encode. Cannot comment on the performance.

1 Like

Thanks @Karsten

I’ll be honest, I’m a huge fan of encryption and I think in the beginning I was just happy to see the option available and wanted to try it out :wink: Your example here may actually be a better fit for our environment! I’ll give this a go shortly. Appreciate it!