当前位置:主页 > 平面设计 > OneNote自动化测试工具

OneNote自动化测试工具

OneNote的自动化测试工具使用基槽
OneNote的自动化测试工具使用基槽

 当我们向人们介绍OneNote的自动化时,有一个问题被相当频繁地提到,担忧我们的自动化框架中UI层面测试偏少。我不喜欢基于UI的自动化。我知道在市场上有许多的自动化系统都是基于UI的自动化(点击按钮以及类似的),甚至在我们自己的办公室中,我们也有几个相似功能的工具在维护。我了解这些工具的优势,因为它们让自动化更准确地模拟真实用户的行为。但在这种自动化运行时,我总觉得似乎太不可靠-有可能是一个窗口突然冒出来再干扰到焦点;有一些工具自身的缺陷,会导致Windows消息丢失。你可以想像每天都有成千上万的测试运行,自动化系统的间歇性缺陷所造成“烦人”的失败,会使我们依赖的自动化系统不再可靠。此外,这些工具都需要考虑时间因素-可以执行测试之前,整个UI都需要重新渲染。如果测试的目的是为了验证一些并不需要UI正常工作的场景(文件IO或同步就是和很好的例子),甚至不需要UI​​。所以我们在OneNote中大致是这么做的:启动OneNote加载onmain.dll到内存中加载我们的测试系统/工具(Loadourtestharness)我们的测试工具通过.NET的反射加载onmain.dll,并引用方法(referencetheactions)。说得非常简约,但只能是这种程度的讨论。现在把onmain.dll中所有的方法(theactionswithintheonmain.dll)都暴露给我们测试工具。最后,我们可以从我们测试工具里调用我们想调用的任何方法。换句话说,如果我想模拟用户单击"粗体(Bold)"按钮,使文字变成粗体,我并不需要"粗体"按钮是可见的。我就可以调用"粗体"按钮事件(clickevent),立即运行代码。

308 次浏览