自动测试VBA UserForms-工具和/或技术?

MLd*_*deS 7 testing excel vba automated-tests regression-testing

我希望在一个相当大的Excel加载项上开始自动回归测试,该加载项围绕一个由几个带有标准控件的模态UserForms组成的GUI.

主要问题是我所研究的大多数自动化测试工具(Rational Robot,AutomatedQA TestComplete,网络自动化自动化等)并不完全支持VBA控件,所以他们的测试最终会重放鼠标点击和按键,所以不能真的可以维护.理想情况下,我需要一个识别VBA表单控件的测试工具,所以我可以说"按下此按钮并等待此列表框更改"而不是"单击(237,58)并等待500毫秒".

我还考虑将测试自动化作为VBA构建到加载项中,但是用户的大部分时间都花在与模式对话框的交互上,该对话框阻止VBA在后台运行,因此这几乎是不可能的.

我的问题 - 这里的任何人都有使用自动化测试工具的经验

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

b)是否支持使用条件分支和成功/失败日志记录的测试脚本,而不仅仅是记录和回放?

或者,有没有人知道我可以解决暂停VBA执行的模式对话问题的方法,以便我可以从VBA中驱动加载项?

我花了一段时间浏览QA论坛,但没有找到任何东西,所以任何帮助或线索将不胜感激.

谢谢你的帮助,

-Martin

Mik*_*use 2

我不知道有哪个工具可以实现您所说的功能,但是您是否考虑过从不同的方向进行攻击?

我在这里推测有多少逻辑可以被推入“正常”VB/VBA 类中,以便可以对各个方法进行单元测试。也许这样的类甚至可以公开事件,以便为了测试,您可以用提供必要刺激并收集响应以进行检查的测试工具替换表单。

它不会解决(现在非常轻量级)表单本身与底层类的连接,但它至少会最小化未经测试的区域。

我真的只是在“大声”思考,但你认为这有用吗?