1

我最近完成了关于使用 QTP、TestComplete 和其他 GUI 识别/交互工具的 GP 功能测试自动化可能性的详细调查。简而言之,没有一个工具表现良好。上面提到的效果最好,但在录制的示例脚本中仍然有很多硬编码。不过,QTP 的表现要好得多。

一些 GUI 在 .NET(QTP 中的 swf...)下被识别并且处理得很好。其他一些仅被识别为 swfObject,但访问本机方法和属性允许执行所需的交互。

最后,内部命名为“Microsoft.Dexterity.Shell.DexDialogHost”的对象呈现似乎没有 Windows 句柄的对象,因此 QTP 无法识别。我还没有找到有关这些对象系列的任何详细文档(例如查找方法名称的类参考)。

所以我想知道是否有人可以分享自动化 GP 的经验以及使用了哪些工具/方法。

谢谢。

4

4 回答 4

0

我花了一段时间进行研究,然后实际证明了这个概念。我开始发布有关 Great Plains 自动化成功故事的系列文章,其中我将调查的所有细节和步骤以及示例代码放在一起。

http://automation-beyond.com/2009/08/24/great-plains-automation/

http://automation-beyond.com/2009/08/26/dynamics-great-plains-gui/

http://automation-beyond.com/2009/09/01/gp-automation-utilizing-com/

(未完待续)

这是摘要。

  1. Microsoft Dynamics Great Plains 拥有自己完全独立的 GUI/事件系统 (Dexterity),使其成为跨平台产品。同样的事情使它几乎完全是“黑匣子”,无法从外部访问。

  2. 平台特定引擎支持 COM 自动化和 Windows 平台的各种集成模型。所有这些都收集在 Continuum 集成库名称下。

  3. 对测试自动化需求特别有用的是,Continuum 提供了高级方法来模拟GUI 的用户输入,因此其作用方式与测试自动化工具相同。

  4. 只要 Continuum 不满足测试自动化需求,就可以实时执行对 sanScript(Dexterity 的内部脚本语言)的直接调用。

  5. 综上所述,我为 Quick Test Professional 创建了自定义的“Dexterity GUI”组件,实现了 Microsoft Dynamics Great Plains 应用程序的功能测试自动化。当然,不使用任何键盘/鼠标硬编码的解决方法。

谢谢你。

于 2009-09-01T14:09:14.153 回答
0

您可以从 hp 下载 .NET 插件。 链接文本

于 2010-04-19T16:44:31.833 回答
0

关于部分成功的对象,您记下的对象被识别为 SwfObject - 如果这些在逻辑上映射到标准类,您可以配置 QTP 将其视为标准类。例如,如果您有一个行为类似于按钮的 SwfObject,则可以将 QTP 配置为像标准按钮一样进行录制和重放。

[删除了建议的击键+剪贴板解决方法,因为它不适合这种情况,因为有更多的信息表明有多个敏捷对话框,每个对话框都有很多对象]

于 2009-07-14T13:30:43.540 回答
0

如果 QTP 无法识别某些控件,您可以使用.NETExtensibility 扩展它支持的控件集。这允许您添加与这些控件相关但 QTP 不支持开箱即用的新功能。请注意,.NET需要进行一些编程。

.NET 扩展性的文档位于开始 > 程序 > QuickTest Professional > 扩展性 > 文档 > .NET 插件 Windows 窗体扩展性帮助


今日事实: QTP中对象名称中的SWF.NET代表System W indows F形式。

于 2009-07-14T06:06:06.483 回答