我能否对 UFT 脚本代码进行工具重构,尤其是在更改函数签名时?

Can I do tooled refactoring for UFT script code, especially when changing function signatures?

作为一个热心的重构者,有一个我喜欢的 IntelliJ 特性:"Refactor --> Change signature"。

基本上,你有一个函数,你可以决定删除一个参数或添加一个新参数,设置一个默认值。这太方便了,太漂亮了,我爱死它了。

所以当我参与到一个带有维护任务的老式 UFT 项目时,我感到厌倦了。

有没有一种方法可以在不更改函数的每个实例的情况下实现这一点?请告诉我是的。请!

嗯,没有。我不知道有什么工具可以做到这一点。

似乎有人为 UFT 测试对象创建了一个 C# 适配器 API,使他们能够用 C# 编写测试,并使用 VisualStudio 开发测试脚本。在 VS 中,您拥有所需的重构支持。但是您不再创建 UFT 脚本,而是创建 C# 应用程序。 (请注意,我不是在谈论 UFT 的 API 测试方面,它无论如何都使用 C# -- 我是在谈论用于 GUI 测试和 BPT 组件的 VBScript 测试脚本。)

UFT 本身无法进行真正的静态代码分析。 (让这句话淹没一分钟,你会同意:这是真的。)

再加上 UFT IDE 的事实,比方说:次优,这导致了 Test Design Studio (TDS) 的开发,一个 VisualStudio "feel-alike" UFT (VBScript) 脚本的 VS 子集。你可以在这里查看:http://www.patterson-consulting.net/products/test_design_studio/Default.aspx

除其他外,TDS 以非常完整的方式对 UFT 脚本进行静态代码分析(只要像 VBScript 这样的解释型变体类型语言完全允许这样做),该工具的作者似乎在思考关于添加您要求的重构功能,但是 - 这还没有发生。它可能只有在需求高的时候才会出现。

到那时,TDS 可以帮助您:

  • 您可以简单地更改签名
  • 如果 TDS 知道所有调用(通常是这样),它会列出您需要编辑的所有位置——这发生在设计时,而不是运行时
  • TDS允许您指定标识符的类型,例如:形参、变量等。这意味着如果您对纯 VBScript 签名(不包括类型信息)没有任何更改,但确实更改了您更改类型的签名参数的 TDS 指令,您甚至可能会收到警告。

这不是广告。我不属于开发 TDS 的公司。

这只是对(稍微偏离主题的)问题的诚实回答,我希望几年前就可以得到这个问题,问像你这样的问题,事实证明它是一个真正的救星。

总而言之,TDS 使我在创建和维护测试脚本时的工作效率提高了四倍(或更多),尤其是在使用大型基础框架时。因此,我建议您查看使用 TDS 的选项,以更好地处理您概述的更改。