Are Request URL variables resolved before their pre-request script executes?

Please study this simple example:

You will notice that the envinroment variable called url is successfully set to the value "fact", but it is ephemeral. The sequence of events is:

  1. We set the url environment variable to "fact" from the Request’s pre-request script.
  2. We get the url environment variable, and receive "fact", and log it to the console as evidence.
  3. We make the Request, which binds url into the URL, but receive undefined; the URL is wrong.
  4. We check the environment afterwards and find that url is undefined

The begs the following questions:

  • Is the variable in the URL of the request is resolved before the pre-request script executes?
  • Given that we retrieved the url variable during the pre-request script and logged it to the console, seeing the expected value - "fact", why was the environment variable undefined by the time the Test ran? Was it unset immediately after it was set in the Request’s pre-request script, before the Request actually executed? If so, why?

Given the above example, this following example would suggest that the URL for the request is indeed resolved before the pre-request script is run (which is as confusing as it is vexing):