UFT VBS 两个函数同名,如何指定哪个函数

UFT VBS Two functions same name, how do specify which one

我在名为 Explorer.vbs 的函数库中有一个函数 DetermineTree(),在 Datasheets.vbs 中有另一个同名函数 DetermineTree()。在我的 Action 中,我正在调用一个最终会调用 DetermineTree() 的函数。我想指定我想从 Explorer.vbs 调用 DetermineTree() 而不是 Datasheets.vbs

我意识到,如果我更改库的关联顺序,问题就会解决,但我正在寻找解决此问题的代码。

在 C# 中,我认为您可以使用点表示法来指定,例如。 Explorer.DetermineTree()

我假设您没有选择更改函数库来为这些函数赋予唯一名称的选项(这将是最干净的解决方案)。

AFAIK 在 VBScript 中,函数不会 "remember" 它来自哪个脚本文件,因此如果不更改文件就无法消除这些函数的歧义。评估的最新文件将覆盖以前具有相同名称的函数。

针对您的问题的一个 hacky 解决方案是在调用函数之前使用 LoadFunctionLibrary,以确保正确的函数库对使用哪个函数有最终决定权。

您可以进一步阅读以了解首先调用哪个函数(顺序)-