Лучший способ определить HTMLControl для закодированных сценариев пользовательского интерфейса

#coded-ui-tests

#coded-ui-tests

Вопрос:

Я вручную пишу несколько сценариев для тестирования веб-приложения с закодированным пользовательским интерфейсом. Каков наилучший способ узнать, какой тег HTMLControl я должен использовать для элементов, которыми я хочу манипулировать? Например, как я могу легко определить, следует ли мне использовать HtmlDiv или HtmlSpan и т. Д.? Я знаю, что тег дает подсказку, но есть ли более простой способ сделать это?

Ответ №1:

Попробуйте использовать object recorder, который поставляется с CUITe. Это также записывает свойства объекта для вас для удобства копирования / вставки.

Ответ №2:

Используйте режим разработки браузера (например, firebug в Firefox), чтобы определить, что есть что.

Вы также можете использовать inspect.exe применение (http://msdn.microsoft.com/en-us/library/windows/desktop/dd318521 (v = vs.85).aspx), чтобы помочь с другими окнами, которые не являются браузером.

Ответ №3:

Попробуйте извлечь информацию об объекте с помощью метода executeScript из BrowserWindow

 object control = BrowserWindow.ExecuteScript("return $('#yourControlId');");
  

если ваш элемент управления имеет тип HtmlCustom, то при наведении курсора мыши на возвращаемый тип он отобразит CustomType[Custom] или CustomType[Span] для HtmlSpan, тогда вы можете легко преобразовать его в соответствующий элемент управления.

Если у вас есть только элементы управления HtmlDiv и HtmlSpan, вы также можете использовать универсальный метод и выполнять с ними любые действия

            protected void PerformAction(object control)
           { 
                object htmlControl = ((List<object>)control)[0];
                HtmlDiv htmldiv = htmlControl  as HtmlDiv;
                HtmlSpan htmlspan = null;

                if (htmldiv == null)
                {
                    htmlspan = htmlControl  as HtmlSpan ;

                    if (htmlspan != null){
                       // Write your action  
                    }
                }

                if (htmldiv == null amp;amp; htmlspan == null) return;
                // Do your code
            }
  

При наведении на него вы можете получить информацию о своем элементе управления, как показано на прилагаемом скриншоте.

введите описание изображения здесь