This is probably obvious and something that you’ve rejected already Paul, but what we do, is to define the first part of the path as a variable that is interpolated at runtime by Eggplant to resolve the name of the folder to use to locate a script.
For example, a script could contain a call to a library function (a file containing common code versioned in a separate source code repository) by doing this:
run(CoreFunctions&"\os\h_RDPConnections").clearSecurityMessage
The CoreFunctions variable points to the folder for version 1.1 of the handlers called for RDPConnections, here we’re clearing a security message pop-up.
There are drawbacks with this approach:
- the function locator feature in the Eggplant Functional editor can’t resolve the path to clearSecurityMessage
- if clearSecurityMessage requires images or other resources to work, these dependencies need to be managed sensibly
But the benefit is that teams can use common functions from a separately versioned project which is useful at scale.
Kind regards
Jerry