我最近使用QTP,TestComplete和其他GUI识别/交互工具完成了有关GP功能测试自动化可能性的详细调查。 简而言之,这些工具都不是很好。上面提到的最好,但在录制的示例脚本中仍然有许多硬编码。 QTP确实表现得更好。
一些GUI在.NET(swf ...在QTP中)被识别并处理得很好。其他一些仅被识别为swfObject,但访问本机方法和属性允许执行所需的交互。
最后,内部名为“Microsoft.Dexterity.Shell.DexDialogHost”的对象呈现的对象似乎没有Windows句柄,因而无法通过QTP识别。我没有找到关于这些对象族的任何详细文档(比如类引用以找出方法的名称)。
所以我想知道是否有人可以分享自动化GP的经验以及使用了什么工具/方法。
感谢。
答案 0 :(得分:0)
如果QTP无法识别某些控件,您可以使用 .NET
可扩展性扩展它支持的控件集。这允许您添加与这些控件相关的新功能,但QTP不支持开箱即用。请注意,需要进行一些.NET
编程。
.NET扩展性的文档可在开始>中找到。节目> QuickTest Professional>可扩展性>文档> .NET加载项Windows窗体可扩展性帮助
当天的事实:QTP中.NET
个对象名称中的 SWF 代表 S 系统 W indows F orms。
答案 1 :(得分:0)
对于部分成功的对象,您注意到的对象被识别为SwfObject - 如果这些逻辑映射到标准类,您可以配置QTP将其视为标准类。例如,如果您的SwfObject的行为类似于按钮,则可以将QTP配置为记录和重放,就好像它是标准按钮一样。
[删除建议的击键+ clipbaord解决方案因为这种情况不适合给出进一步的信息,即有多个敏捷对话框,每个对话框都有很多对象]
答案 2 :(得分: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/
(待续)
以下是摘要。
Microsoft Dynamics Great Plains拥有自己的完全独立的GUI /事件系统(Dexterity),使其成为跨平台产品。同样的事情使它几乎完全无法从外面进入“黑匣子”。
特定于平台的引擎支持COM自动化和Windows平台的各种集成模型。所有这些都是在Continuum Integration Library名下收集的。
对于测试自动化需求特别有用,Continuum提供了高级方法来模拟 GUI的用户输入,因此其作用与测试自动化工具的作用相同。
如果Continuum不能满足测试自动化的需求,可以实时直接调用sanScript(Dexterity的内部脚本语言)。
综上所述,我为Quick Test Professional创建了自定义“Dexterity GUI”组件,实现了Microsoft Dynamics Great Plains应用程序的功能测试自动化。当然,没有使用键盘/鼠标硬编码的解决方法。
谢谢。
答案 3 :(得分:0)
您可以从hp下载.NET加载项。 link text