Не могу определить, существует ли определенный UITestControl в моем веб-приложении

В настоящее время я пытаюсь помочь автоматизировать некоторые тесты пользовательского интерфейса с использованием C # для веб-приложения. Частая проблема, которую яЯ сталкиваюсь с тем, что это может быть чрезвычайно трудно определить, является лиUITestControl объект существует на странице или нет. К сожалению, MicrosoftДокументация на их сайте MSDN, касающаяся кодированных тестов пользовательского интерфейса, практически не существует (см. здесь их страницу дляUITestControl).

В основном то, что яя спрашиваю это:

Каков наилучший способ определить, является лиUITestControl существует на странице или нет?Как работаетUITestControl.Exists собственность работа?Что этоUITestControl.Find() метод сделать?Как работаетUITestControl.TryFind() метод работы?

Как я'мы пытались справиться с этим:

Как я упоминал ранее, документация по всем этим классам и методам в основном пуста. Максимум, что вы можете получить, чтобы описать любой из методов и свойств, - это описание в 1 строку в Intellisense, поэтому ямы экспериментировали с перечисленными методами.

Сначала я попробовал проверить,UITestControl.Exists собственность была правдой, но со временем и советовался с чужими Опыт работы с ним, стало очевидно, что он всегда возвращает истину, даже если браузер нет открыть. Поскольку вариант, который казался наиболее очевидным, не быля пытался использоватьUITestControl.Find() метод, но так как он не принимает аргументов и ничего не возвращает, я не могне понять, что он сделал. Я пытался использоватьUITestControl.TryFind() метод, и иногда это работало, но я обнаружил, что это только возвращало ложь, когда я не былт на правильной странице; в противном случае он всегда возвращал истину. Очевидно, я понятия не имел, как это работает, и не долженне использовать его в качестве теста.

Я понял, если бы я не могя не могу получить предоставленные методы, чтобы сделать свою работу, яЯ должен попытаться сделать свои собственные инструменты. Я недавно пытался использоватьMouse.Hover(UITestControl) в блоке try / catch, чтобы определить, существует ли элемент управления следующим образом:

public bool DoesExist(UITestControl control){
   if(control == null)
      return false;

   try{ Mouse.Hover(control); }
   catch (UITestException)
   {
      return false;
   }

   return true;
}

Иногда это работает, но в определенных ситуациях кажется, что я получаю ложные срабатывания по причинам, которые я неТ понять. Я'я все еще летаю вслепую, а яу меня почти не осталось идей.

Я использую Visual Studio 2012 и Microsoft .NET Framework версии 4.5.50709.

Ответы на вопрос(3)

Ваш ответ на вопрос