2009-07-13 48 views
1

我最近使用QTP,TestComplete和其他GUI識別/交互工具完成了關於GP功能測試自動化可能性的詳細調查。總之,沒有一個工具能夠很好地發揮作用。上面提到的做得最好,但在錄製的示例腳本中仍然有很多硬編碼。不過,QTP的確有明顯改善。QTP/Dynamic Great Plains自動化

一些圖形用戶界面在.NET(swf ...在QTP中)被識別並處理得很好。其他一些只被識別爲swfObject,但訪問本機方法和屬性允許執行所需的交互。

最後,內部命名爲「Microsoft.Dexterity.Shell.DexDialogHost」的對象呈現似乎沒有Windows句柄並因此無法通過QTP識別的對象。我還沒有找到任何有關這些對象系列的詳細文檔(例如類引用來查找方法的名稱)。

所以我想知道是否有人可以分享自動GP的經驗和使用什麼工具/方法。

謝謝。

回答

0

過了好一會兒,我進行研究,然後實際證明這個概念。 我開始了一系列關於大平原自動化成功故事的帖子,其中將我的調查的所有細節和步驟以及示例代碼放在一起。

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擁有自己完全獨立的圖形用戶界面/事件系統(敏捷),使其成爲跨平臺的產品。同樣的事情使它幾乎完全不能從外面訪問的「黑匣子」。

  2. 特定於平臺的引擎支持COM自動化和Windows平臺的各種集成模型。所有這些都收集在Continuum Integration Library名稱下。

  3. 什麼是自動化測試需要特別有用,連續提供高層次的方法來模擬用戶輸入,用於因此作爲自動化測試工具做同樣的方式GUI。

  4. 無論Continuum如何不包括測試自動化需求,都可以實時執行sanScript(敏捷的內部腳本語言)的直接調用。通過以上所述,我爲快速測試專業人​​員創建了自定義「敏捷GUI」組件,從而實現了Microsoft Dynamics Great Plains應用程序的功能測試自動化。當然,沒有任何使用鍵盤/鼠標硬編碼的解決方法。

謝謝。

0

如果QTP無法識別某些控件,則可以使用.NET擴展性來擴展它支持的一組控件。這允許您添加與這些控件相關的新功能,但QTP不支持開箱即用。請注意,一些.NET編程是必需的。

的.NET擴展性的文檔可在開始>程序> QuickTest Professional的>擴展>文檔> .NET加載Windows窗體擴展幫助


一天的事實:SWF.NET對象在QTP名代表小號 ystem W¯¯ INDOWS ˚F奧姆斯。

+0

Hi Motti, 謝謝你的回覆。可悲的是,這與我的問題完全不相干。 您提到的擴展性套件可從應用程序一側工作。是的,理論上你可以在你創建的應用程序中加入額外的開發工作。即使在這種情況下,也應該做一些文書工作以獲得批准。 現在回頭看看我正在處理的應用程序。 1)這是供應商的應用程序。 2)這是Microsoft/Dynamic Great Plains。 3)無法識別的GUI是敏捷。這些對象在特殊面板上繪製。很可能這些物體甚至沒有手柄。 – 2009-07-14 12:47:24

+0

嗨艾伯特,我不熟悉GP,但是當你說與其他供應商的應用程序一起工作時,.NET Ext是不相關的。 .NET Ext是非侵入式的,可用於任何具有`HWND`的控件,所以我的解決方案只適用於那些當前被認爲是「SwfObject」的控件,而不是那些從Microsoft.Dexterity.Shell.DexDialogHost繼承的控件`。至於沒有HWND的控件,我不知道:o( – Motti 2009-07-14 18:17:57

0

對於部分成功的對象,您記下的對象被識別爲SwfObject - 如果這些邏輯映射到標準類,則可以配置QTP將其視爲標準類。例如,如果您有一個像按鈕一樣的SwfObject,您可以配置QTP來記錄和重放,就好像它是一個標準按鈕一樣。

[刪除建議按鍵+ clipbaord變通,因爲它是不適合給定的進一步信息,這種情況下,有多個敏捷對話,每一個具有多個對象]