Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing QTP/动态大平原自动化_Unit Testing_User Interface_Qtp_Dynamics Gp - Fatal编程技术网

Unit testing QTP/动态大平原自动化

Unit testing QTP/动态大平原自动化,unit-testing,user-interface,qtp,dynamics-gp,Unit Testing,User Interface,Qtp,Dynamics Gp,我最近用QTP、TestComplete和其他GUI识别/交互工具完成了关于GP功能测试自动化可能性的详细调查。 简言之,没有一种工具运行良好。上面提到的做得最好,但在记录的示例脚本中仍然有很多硬编码。但QTP的表现要好得多 一些GUI在.NET(QTP中的swf…中)下被识别,并且处理得很好。其他一些仅被识别为swfObject,但访问本机方法和属性允许执行所需的交互 最后,内部名为“Microsoft.Dexterity.Shell.DexDialogHost”的对象呈现的对象似乎没有Win

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

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

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

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


谢谢。

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

有关.NET扩展性的文档可在开始>程序>QuickTest Professional>扩展性>文档>.NET加载项Windows窗体扩展性帮助中找到



当日事实:QTP中
.NET
对象名称中的SWF代表SsystemWindowsForms。

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


[删除建议的击键+clipbaord解决方法,因为它不适合这种情况,因为有更多信息表明存在多个灵巧对话框,每个对话框都有许多对象]

我花了一段时间进行研究,然后实际证明了这一概念。 我开始了一系列关于大平原自动化成功故事的文章,我把我调查的所有细节和步骤与示例代码放在一起

(待续)

这是总结

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

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

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

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

  • 有了所有这些,我为Quick Test Professional创建了定制的“灵巧GUI”组件,实现了Microsoft Dynamics Great Plains应用程序的功能测试自动化。当然,无需使用键盘/鼠标硬编码的变通方法


  • 谢谢。

    您可以从hp下载.NET加载项。

    嗨,莫蒂,谢谢你的回复。遗憾的是,这与我的问题完全无关。您提到的扩展性工具包可以从应用程序端工作。是的,从理论上讲,您可以在创建的应用程序中投入额外的开发工作。即使在这种情况下,也应该做一些文书工作来获得批准。现在回头看看我正在处理的应用程序。1) 这是供应商的应用程序。2) 这是Microsoft/Dynamic Great Plains。3) 无法识别的GUI是灵巧的。这些对象在特殊面板上绘制。很可能这些对象甚至没有句柄。嗨,阿尔伯特,我对GP不太熟悉,但你说.NET Ext在使用其他供应商的应用程序时是不相关的,这是错的。NET Ext是非侵入性的,可以在任何具有
    HWND
    的控件上使用,因此我的解决方案将只适用于当前被识别为
    SwfObject
    的控件,而不适用于继承自
    Microsoft.Dexterity.Shell.DexDialogHost
    的控件。至于不带HWND的控件,我不知道:o(嗨,莫蒂,我现在更明白你的意思了。但是直接解决QTP中映射的.NET对象作为通用SWFOObject的本机方法和属性不是更简单吗?我不使用QTP内置框架,我使用我自己的混合关键字/数据驱动的更抽象的对象类型。因此我可以实现包装,但主要问题是:它们是甚至不是继承的!它们在我提到的DexterityHost对象中呈现。这样做是为了使基于Dexterity的应用程序(特别是GP)独立于平台。如果我发现更多信息,我会在这里或博客中发布更新。嗨,汤姆,说真的,你有没有回答我的问题?我问过“如何解决”吗?我问是否有人有处理这一问题的实际经验。我很感谢你的回答……但我认为他们至少应该与这个问题有点相关。你说“大多数GP功能工具”、“GP工具不识别”是什么意思?GP是“大平原”的缩写。这是正在测试的应用程序,而不是工具。键盘解决方法??给你一个想法:想象一个对话框/窗口充满了输入框、单选按钮、标签、复选框和其他东西,并由Dextrity对象呈现。内容根本无法识别。Wh