#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
}
При наведении на него вы можете получить информацию о своем элементе управления, как показано на прилагаемом скриншоте.