Securely storing passwords and login details with Set Encrypted Text in Katalon Studio

One of the new features for Katalon Studio 5.4 is the ability to store encrypted passwords right inside the test case using the Set Encrypted Text command. Previously, the username and password would be in clear text, so anyone who opened the file could see the login credentials. This now obscures that information while still allowing easy access.

The new command is available while editing the script in Manual mode. Change the normal Set Text command to Set Encrypted text, which brings up a small dialog window that encrypts the text as you type.

set-encrypted-text

With the Item column now changed, double click the input field to bring up the encrypted text dialog box. On this new input screen, click the Value input field and you will be able to type in your text and see the encrypted text. This is what will be saved in the Test Case.

input-encrypted-text

For the login test I have, I check to see which environment the test is running against and then pass the credentials for that environment. By simply changing the Set Text command to Set Encrypted Text, I obscured the username and password in mere moments.

The test now looks like this:

if (GlobalVariable.baseurl == 'https://myqasite.com') {
    //QA credentials
log.logWarning('Logging in to environment - ' + GlobalVariable.baseurl)
    WebUI.setEncryptedText(findTestObject('Page_Sign In/input_UserName'), 'XJ419vj6YqJLWAYDfHAYjLzfymSmyhCi')
    WebUI.setEncryptedText(findTestObject('Page_Sign In/input_Password'), 'e71pytG/LEFOTYb/96yNYh7DOujSLkGz')
} else {
//Staging and Prod credentials
log.logWarning('Logging in to environment - ' + GlobalVariable.baseurl)
    WebUI.setEncryptedText(findTestObject('Page_Sign In/input_UserName'), 'cbbsN3ywIVYTVYg1DVaCdC/EYK/MbMZwGmSPgZHWhNTAx6OdO9Wh9w===')
    WebUI.setEncryptedText(findTestObject('Page_Sign In/input_Password'), 'MihRDM3OZ2lC85FtfophvXwNOqe+xiW4fjG2a5CVrjqCtbHeBRcgvw==')
}
WebUI.click(findTestObject('Page_Sign In/span_Sign in'))

This is a pretty nice feature, and even if you’re just working in a QA or Staging environment, it’s nice to now you can obscure sensitive text from others who might be working on the same project, or from someone who might take a glance at the screen.

Other articles of interest:

One Response to Securely storing passwords and login details with Set Encrypted Text in Katalon Studio

  • Agus says:

    Hi Don,

    Is there a way to set the encrypted text to be used in the ‘WebUI.authenticate’ method?

    Basically I am trying to encrypt the password that is passed to the ‘WebUI.authenticate’ method.

    Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Comments
  • Simple wildcard searches for pattern matching (2)
    • Don Pedro: For that scenario it seems .contains would be your choice. For example, variable.contains(‘amazo n.com’) to see if the url had amazon.com. In that case, www.amazon.com, forum.amazon.com, retail.amazon.com would all...
    • Jony: Hi, How can I use a wild card to assert a URL is the one I want. I just want to verify the domain ==expected but not anything after it. Tried * but not working and only works when I have full URL.
  • Create a Dynamic Object at Runtime (2)
    • Saish: How to add shadow root parent to this runtime object..
    • Jeremy Brien: I appreciate this! I saw this post on LinkedIn this morning and was able to find a use case for it! I found that defining my xpath with an iterable variable allows me to loop through and capture text from tables created...
  • Output status messages and test information by writing to the Log File Viewer in Katalon Studio (2)
    • Don Pedro: That would be things like: log.logWarning(‘The import date listed on the site is: ‘ + importDate) log.logWarning(‘The value from the site is: ‘ + salesFigure) log.logWarning(‘Filter Results for ‘ +...
    • Prashant Pednekar: Thanks for the informative article but can we also put some variable values to make it more exciting.
  • Setting up a repeatable Search Method in Katalon Studio (1)
    • RJ: Thanks a lot! This is very helpful 🙂
  • Filling forms with random numbers in Katalon Studio (3)
    • Patrick Clough: We created a handy random string generator custom keyword. The method takes in a string for the type of string you want, and an integer for the length. Looks like this: static String RANDOM_ALPHANUM =...
    • Don Pedro: randomNumber is the variable that holds the result of generating a new random number. Depending on how things work on your site, you might need to convert the number to a String before it’s recognized correctly....
    • Seth: When you are setting up randomNumber is this a new keyword or a new variable? I am trying to randomly generate unique socials and can’t seem to connect my generator to my Set Text.
  • Working with Dates and Date Formatting in Katalon Studio (5)
    • Ann: THANK YOU ! That worked perfectly !
    • Don Pedro: import groovy.time.TimeCategory currentDate = new Date() println currentDate use( TimeCategory ) { after30Mins = currentDate + 30.minutes } println after30Mins https://stackoverflow.com/ques tions/21166927/incrementing...
    • ricky julianto nugroho: hay can u gave me an example for plus a hour in the time ? example : now is 15 pm i want to print 16 in the text thank you
  • Boostnote for Code Snippets (1)
    • Manual: Hi Don, Regarding the code snippets and examples that you have created. Is there any GitHub repo or something that can be shared? Thanks
  • Using TypeIt4Me with Katalon Studio (3)
    • Manual: That’s great thanks for sharing.