2014-06-06 3 views
0

HtmlDiv hd = new HtmlDiv (UINewTabWindowsInterneWindow); hd.SearchProperties.Add (HtmlDiv.PropertyNames.Id, "ContentPlaceHolder1_WebPartManager1_gwpucHorizontalAgentQueueGrid1_ucHorizontalAgentQueueGrid1_bottomWebPartHeaderMiddle1");Как перемещаться элементы сетки в codedui? получение ошибки при получении значения каждой ячейки

 HtmlControl htc1 = new HtmlControl(hd); 
     htc1.SearchProperties.Add(HtmlControl.PropertyNames.TagName, "TABLE"); 
     UITestControlCollection collection = htc1.FindMatchingControls(); 


     foreach (UITestControl uitabs in collection) 
     { 

      HtmlTable ht = (HtmlTable)uitabs; 
      UITestControlCollection temp1 ; 
      if (ht.Id == "ctl00_ContentPlaceHolder1_WebPartManager1_gwpucHorizontalAgentQueueGrid1_ucHorizontalAgentQueueGrid1_RadGrid1_ctl00") 
      {     

       HtmlControl htc_tr = new HtmlControl(ht); 
       htc_tr.SearchProperties.Add(HtmlControl.PropertyNames.TagName, "TR"); 
       UITestControlCollection collection_tr = htc_tr.FindMatchingControls(); 

       UITestControl tr; 
       for (int i = 0; i < collection_tr.Count; i++) 
       { 
        tr= collection_tr[i]; 

        // HtmlRow hr = (HtmlRow)tr; //getting error not able to cntrol htmlol to html row 
+0

Возможно, 'tr' является' UIControl', который имеет 'HtmlRow' в качестве дочернего элемента. Я бы попробовал что-то вроде TestContext.WriteLine (tr.GetType(). ToString()); ', чтобы узнать больше об иерархии управления. – AdrianHHH

ответ

0

Я бы предположил, что что-то запутывается после всех преобразований, которые вы делаете. Я пробовал следующее, и он должен работать и для вашего сценария.

HtmlDiv htc1 = new HtmlDiv(UINewTabWindowsInternWindow); 
htc1.SearchProperties["id"] = yourID; 

HtmlTable table = new HtmlTable(htc1); 
table.SearchProperties["id"] = "ct100_ContentPlaceHolder1..."; 

HtmlRow row = new HtmlRow(table); 
row.SearchProperties["TagName"] = "TR"; 

UITestControlCollection rows = row.FindMatchingControls(); 

foreach (UITestControl myRow in rows) 
{ 
    HtmlRow thisRow = (HtmlRow)myRow; 
    // Do your thing here. 
} 

Вы даже можете быть в состоянии уйти с выполнением любых действий на вашем подряд, что нужно сделать, не превращая его из UITestControl обратно в ряд. Большинство свойств и методов строки доступны в родительском классе.

 Смежные вопросы

  • Нет связанных вопросов^_^