After updating to 6.1.4 I have been unable to use the Keyword Set Encrypted Text. I have tried calling on the text as a Profile Variable as well as setting the text as a string in the Manual Script view. The error that is being returned is.
Additional Information:
Running a test case that calls on Open Browser first prior to initiating the test step seems to be working. Only seeing an issue when using the Use Existing Session from the Play Test Case section.
To clarify, this issue is not just specific to Set Encrypt Text. This is an issue when trying to use Global Variables and using “Use Existing Session”. In my specific case it is is a Profile other than default. This was working prior to 6.1.4 as it is something I regularly do when troubleshooting test cases that may be failing.
Steps to Reproduce:
1.) Create a new Profile
2.) Create a new Global Variable for that Profile (username)
3.) Create a new Global Variable for that Profile (password)
4.) Encrypt the text for the password and set to GlobalVariable.password
5.) Create a Test Case (Login TC)to use the username and password variable to login
6.) Create a Test Case (Open Browser TC) with only the command Open Browser
7.) Set the Execution Profile
8.) Play the Open Browser TC (Using Chrome)
9.) Open the Login TC
10.) Click the drop down next to the Play button
11.) Click on the Existing Session to run Login TC against
Expected Results:
-The username and password global variable will be used
Observed Results:
-The username and password variables are not used
-The following error is displayed in the Console:
2019-05-10 08:13:09.803 ERROR c.k.k.core.keyword.internal.KeywordMain - Unable to set text ‘null’ of object ‘/Username’ (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to set text ‘null’ of object /Username’
Additional Information:
When retrieving userprofile during runtime with a profile other than default specified still reverts to default during execution
This issue is also affecting Katalon version 6.1.5 build 3.
Here is how I reproduced this issue.
To reproduce:
Create two test cases: testCase1 and testCase2.
In the default profile, create a variable called var. Set var equal to “cat”
Create a profile called profile1.
3.1. Create a variable called var. Set var equal to “dog”.
In testCase1, enter the following steps:
4.1. Open Browser
In testCase2, enter the following steps:
5.1 System. out .println(GlobalVariable.test)
On the profile selection dropdown, select profile1.
Run testCase1 using Chrome.
Once testCase1 passes, run testCase2 using the browser opened in testCase1 or do “Run from here” using the browser opened in testCase1.
Expected: testCase2 prints “dog”
Actual: testCase2 prints “cat”
I guess a workaround is to use only the default profile; however, we have many test on our software so that would be a lot of global variables in just one profile. It would not be a good way to organize the global variables in our testing.
Also, we have a profile for each script thus we would have to copy and paste the global variables in a given profile into the default profile because we write the code piece-wise. This is inconvenient so a fix sometime soon would be nice