我最近使用QTP、TestComplete和其他图形用户界面识别/交互工具完成了一项关于GP功能测试自动化可能性的详细调查。简而言之,这些工具都不能很好地工作。上面提到的做得最好,但在录制的样例脚本中仍然有很多硬编码。不过,QTP做得明显更好。
一些图形用户界面是在.NET下被识别的。在QTP中),并且处理得很好。其他一些仅被识别为swfObject,但访问本机方法和属性允许执行所需的交互。
最后,内部命名为"Microsoft.Dexterity.Shell.DexDialogHost“的对象呈现看起来没有Windows句柄的对象,因此无法被QTP识别。我还没有找到关于这些对象族的任何详细文档(比如用于查找方法名称的类引用)。
所以我想知道是否有人可以分享自动化GP的经验以及使用了什么工具/方法。
谢谢。
发布于 2009-09-01 14:09:14
我花了一段时间进行研究,然后实际证明了这个概念。我开始了一系列关于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/
(待续)
以下是摘要。
Dynamics Great Plains应用程序的功能测试自动化。当然,不使用任何键盘/鼠标硬编码的workarounds.
谢谢。
发布于 2009-07-14 06:06:06
如果QTP不能识别某些控件,您可以使用.NET扩展性来扩展它支持的控件集。这允许您添加与这些控件相关的新功能,但QTP不支持开箱即用。请注意,需要进行一些.NET编程。
有关.NET扩展性的文档位于以下位置:开始>程序> QuickTest专业版>扩展性>文档> .NET加载项.NET窗体扩展性帮助
当日事实: .NET对象名称中的SWF在QTP中代表SSWF Windows Forms。
发布于 2009-07-14 13:30:44
对于部分成功的对象,您注意到的对象被识别为SwfObject -如果这些对象在逻辑上映射到标准类,您可以配置QTP将其视为标准类。例如,如果您有一个行为类似按钮的SwfObject,您可以将QTP配置为录制和回放,就像它是一个标准按钮一样。
删除了建议的keystroke+clipbaord解决方法,因为它不适合这种情况,因为进一步的信息是有多个灵活对话框,每个对话框都有许多对象
https://stackoverflow.com/questions/1121579
复制相似问题