Coded UI Test проблемы с подсчетом строк в гриде


(anton_matyushkin) #1

Всем привет.

Столкнулся с такой проблемой: не могу посчитать количество строк в гриде.

Сами строки грида определяю вот таким вот образом (при этом в свойствах помимо указанного, есть куча других, но только без индексов:

public class UIItemCell : WinCell
    {
 
        public UIItemCell(UITestControl searchLimitContainer) :
            base(searchLimitContainer)
        {
            #region Условия поиска
            this.WindowTitles.Add("AKSi-клиника - Mozilla Firefox");
            //this.SearchProperties[UITestControl.PropertyNames.ControlType] = "Cell";
            #endregion
        }
 
        #region Properties
       //тут куча других свойств
 
           public WinEdit UIСотрудникПоликлиникиEdit(int Index)
        {
            this.mUIСотрудникПоликлиникиEdit = new WinEdit(this);
            #region Условия поиска
            string DoctorName = Actions.CurrentActionInstance.ReadNameOfDoctor;                  //здесь я читаю нужную строку из файла
            this.mUIСотрудникПоликлиникиEdit.SearchProperties[WinEdit.PropertyNames.Name] = DoctorName; 
            this.mUIСотрудникПоликлиникиEdit.SearchProperties[UITestControl.PropertyNames.ControlType] = "Edit";
            this.mUIСотрудникПоликлиникиEdit.WindowTitles.Add("AKSi-клиника - Mozilla Firefox");
            UITestControlCollection UIСотрудникПоликлиникиEdit = this.FindMatchingControls();
            #endregion
            return UIСотрудникПоликлиникиEdit[Index] as WinEdit;
        }
 
       //тут куча других свойств
 
       #endregion
 
        #region Fields
         ...
        private WinEdit  mUIСотрудникПоликлиникиEdit;
        ...        
        #endregion
}

Затем использую метод для жмяка по найденной строке:

        public void ChoiceEmployeePoliclinicMethod(int Index)
        {
            #region Variable Declaration
            WinEdit UIСотрудникПоликлиникиEdit = List_of_item.ListOfItem.UIAKSiклиникаMozillaFiWindow.UIItemCell.UIСотрудникПоликлиникиEdit(Index);
            #endregion
 
            UIСотрудникПоликлиникиEdit.WaitForControlEnabled(10000);
            Mouse.Click(UIСотрудникПоликлиникиEdit);
        }
В самом тесте передаю в метод 1, т.к. точно знаю, что найденных строк будетминимум 3.
 
Теперь такой момент: FindMatchingControls находит мне 109 записей, хотя на странице их только 6 - откуда он может тянуть остальные?
 
После того, как отработало свойство ItemCell'a, в метод почему-то мне возвращается null, хотя при отладке строка в файле была прочитана и поиск контролов шел по этой строке.

(Pnevmoslon) #2

Сложно гадать по фотографии, но предположу, что нужно изменить условия поиска(сузить). И да. На сколько я понимаю, вы тестируете веб приложение. Откуда в таком случае WinEdit, WinCell? Давно не работал с Coded UI Tests, но, если мне не изменяет память, для HTML контролов есть соответствующие классы HtmlEdit, HtmlCell.