VBA UserForms-工具和/或技术的自动化testing?

我期待在一个相当大的Excel插件上开始自动化回归testing,这个插件围绕着一个由几个带有标准控件的模式用户窗体组成的GUI进行。

主要的问题是我所研究过的大多数自动化testing工具(Rational Robot ,AutomatedQA TestComplete ,networking自动化自动化等等)并不完全支持VBA控件,所以他们的testing最终会重放鼠标点击和按键,真的可以维持。 理想情况下,我需要一个识别VBA表单控件的testing工具,所以我可以说“按下这个button,等待这个列表框改变”,而不是“点击(237,58)并等待500毫秒”。

我还考虑将testing自动化作为VBA构build到外接程序中,但大部分用户的时间都花费在与模式对话框交互,从而阻止VBA在后台运行,所以这几乎是不可能的。

我的问题 – 这里有没有人有一个自动化testing工具的经验

a)识别VBA用户表单控件并可以可靠地与它们交互

b)支持使用条件分支和成功/失败logging的testing脚本,而不仅仅是logging和回放?

或者,有没有人知道一种方式,我可以解决暂停VBA执行的modal dialog的问题,所以我可以从VBA内驱动加载项?

我花了一段时间四处看看QA论坛,但没有发现任何东西,所以任何帮助或线索将不胜感激。

谢谢你的帮助,

-Martin

我不知道你说的一个工具,但你有没有想过从不同的方向进攻?

我在这里推测一下,可以将多less个逻辑推到一个“正常的”VB / VBA类中,以便单个方法可以进行unit testing。 也许这样的类可能会暴露事件,甚至,为了testing,您可以用提供必要的刺激的testing工具代替表单,并收集检查的响应。

它不会解决(现在非常轻量级)表单本身到底层类的连接,但它至less会使未testing的区域最小化。

我真的只是在想“大声”,但你认为这样做可以吗?