2016-05-16 34 views
0

嘗試從WPF網格中生成一個對象數組,以便在Visual Studio 2015編碼的UI中獲取所有行及其對應的單元格數據測試,用於使用網格控件測試桌面應用程序。在編碼的UI測試中生成WPF網格控件中所有行和列的對象數組C#

基本上,我試圖搜索,找到並單擊WPF網格上的單元格基於字符串值我有哪些應該是在某些特定的單元格中存在。

這是一個C#的測試方法,其中我試圖獲取數據:

[TestMethod] 
    public void GridInteractions() 
    { 
     #region Variable Declarations 

     //This is my grid control from 'UIMap.uitest' control repository    
     var gridControl = this.MainWindow.MainPanel.GridPanel; 

     #endregion 

    } 

回答

0

GetChildren方法將返回一個UITestControlCollection與控制的所有直接後代。你想要的物品可能是他們的子孫後代......的後代。他們可能會通過添加以下到您的代碼中找到:

UITestControlCollection children = gridControl.GetChildren(); 

這可能是值得使用GetChildren獲得所需要的值從gridControl做遞歸下降。另外,如果你知道控件的確切層級那麼,如果只需要兩個層次,你可以使用代碼樣式:

UITestControlCollection children = gridControl.GetChildren(); 
foreach (UITestControl child in children) 
{ 
    UITestControlCollection grandChildren = child.GetChildren(); 
    foreach (UITestControl grandChild in grandChildren) 
    { 
     ... process the grandchild ... 
    } 

} 
+0

感謝的人的響應,但這樣做的後裔遞歸的,在某些時候,「UITestControl '在我得到我真正想要的行或單元格之前,沒有給你任何孩子。 嘗試使用使用[FarPoint Spread工具](http://farpoint-spread.software.informer.com/8.0/)的編碼UI自動化我們的應用程序。我正在嘗試使用SpreadControl上的編碼UI,但它不提供我ROWS或COLUMNS訪問權限,例如根據'String' 查找單元格,或單擊#number列或行。你能幫我在這裏如何繼續前進? –

+0

@Omm也許行和列位於不支持編碼UI的自定義控件中。當你使用Coded UI記錄並生成工具時,它可以看到單元格,還是僅僅將整個控件看作一個項目?如果是後者,那麼您需要向控件的作者詢問它對Coded UI的支持。 – AdrianHHH

+0

是的,它看到整個表單爲一個單一的項目(如在畫布中)。在作者的論壇中檢查瞭解決方案,他們表示它不支持到目前爲止的編碼UI自動化。我實際上是在尋找替代品。不管怎樣,謝謝:) –

相關問題