Troubleshooting profile inheritance in Katalon 11

I might make another thread, but since trying Katalon 11, profile inheritance is broken.

default.glbl

   <GlobalVariableEntity>
      <description></description>
      <initValue>[('vs') : 1, ('s') : 5, ('m') : 15, ('l') : 30, ('vl') : 150]</initValue>
      <name>wait</name>
      <protected>false</protected>
   </GlobalVariableEntity>

stg.glbl does not contain a variable named wait

Test Case script:

import internal.GlobalVariable as GlobalVariable

println GlobalVariable.wait

Run with default profile selected:

[vs:1, s:5, m:15, l:30, vl:150]

Run with stg profile selected:

null
2 Likes

@nghi.phan please

2 Likes

our support team and PM are currently on this, please stay patient with us in the mean time :partying_face:

2 Likes

Hi @clif.molina, which KS 11 version you are running? Is this the latest 11.1.1?

1 Like

Thanks, all! Some more details: This was observed in all versions of v11 released so far.

Additional context: we are opening existing projects that we’ve upgraded through the years since Katalon v6 (in some cases).

For now, holding off on recommending v11 upgrades due to this, but very eager to do so when patched.

Thanks to the team for looking into this.

Support has answered the question and explained the v11 update. This concept has always been a little confusing so here is my explanation of the breaking change.

Previously, Katalon has two coexisting concepts of “default” profiles.

There was the profile named default.glbl from which all other profiles inherit. This is the base profile that exists in every project and cannot be removed.

Then there is the concept of the project’s default execution profile, meaning which profile is automatically selected when opening the project in Studio and creating new Suite Collections.

Though similarly named, these were distinct concepts in prior versions. In v11 things have changed a bit. The base profile, e.g. the one from which all other profiles inherit, is now controlled via the default execution profile project setting.

In the past, you may have relied on default.glbl to specify global defaults across your project, which other profiles can inherit or override. Starting in v11, the base profile is no longer default.glbl, but rather is whichever profile you specify as the default execution profile.

Specify the Base + Default Execution Profile in v11

  • Right-click any profile
  • Click Set as default Execution Profile

I must have missed this change in the release notes. I consider it a breaking change, personally. See the official docs explaining default profiles.

Their explanation of the update to me:

[…] this behavior is due to a change in how default profiles are handled in Katalon Studio 11 compared to version 10.

Previously (in KS 10 and earlier), a profile named “default” would automatically act as the fallback profile during execution. However, starting from Katalon Studio 11, the logic has changed:

  • The fallback profile is now determined by which profile is explicitly set as the default profile in the project.
  • The profile name (e.g., “default”) no longer determines fallback priority.

This is why your variable from the “default” profile is now showing as null when running under another profile: It is not being treated as the fallback if you have explicitly set another profile to be the default Execution Profile.

2 Likes