2016-05-24 7 views
0

У меня есть веб-приложение, в котором я пытаюсь. Нажмите на гиперссылку. В моей машине разработки для автоматизации она работает нормально, но если я запустил ее на другой машине (VM), скажем, тестовую машину с использованием тестового агента и тестового контроллера через MTM. Я получаю следующее сообщение об ошибкеCodedui не нажимает на «Скрытый контроль» и «Bounding Rectangle issues»

Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToPerformActionOnHiddenControlException: Невозможно выполнить «Щелчок» на скрытом элементе управления. Дополнительная информация: TechnologyName: 'Web'.

Я последовал за несколько MSDN блог и неустановленное обновление безопасности на моих окнах и в настоящее время я использую IE11 на моем Dev поле и тестирование коробке и VS 2010 Premium на моем Dev поле

http://i1.blogs.msdn.com/b/visualstudioalm/archive/2013/09/17/coded-ui-mtm-issues-on-internet-explorer-with-kb2870699.aspx?PageIndex=4 , но это не сработало для меня .

Я также попытался использовать свойство BoundingRectangle таким образом ниже

UITestControlCollection uic = link.FindMatchingControls(); 

    foreach (UITestControl ui in uic) 
{ 
    if (ui.BoundingRectangle.Width > 0) 
     { 
      Mouse.Click(ui); 
      break; 
     } 

} 

, но я получаю эту ошибку:

Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException: Следующий элемент больше не доступен : Веб-контроль IE; Идентификатор процесса [5136], ручка окна [1705946] Дополнительная информация:

Прошу обратиться за помощью. Поскольку я изо всех сил пытаюсь найти реальную причину, почему это происходит. Гиперссылка видна на экране, но я не понимаю, почему она скрыта для воспроизведения. Также я не могу ее отлаживать, поскольку она находится на VM, и я использую Teat Agent для запуска этого из MTM.

Запрос справки

Спасибо,

Keerthi

+0

Мне не нравится использовать Find Controls, потому что он очень медленный. Когда мне нужно перечислить элементы управления, я создаю свой собственный список. Список boxes = new. Список () {textbox1, textbox2, textbox3, textbox4}; Он жестко закодирован, но работает намного быстрее, чем поиск элементов управления. – jdweng

+0

Я добавил команду «Найти соответствия», предполагая, что у меня есть другой скрытый элемент управления с тем же именем, но у меня есть только один элемент управления на веб-странице. – user2861354

+0

Убедитесь, что вы используете тот же URL-адрес на рабочих и не работающих машинах. Возможно, URL-адрес недоступен на других машинах. Это может быть проблема с прокси-сервером, но пока еще слишком рано говорить. – jdweng

ответ

0

Оказывается проблема заключается в том, что элемент управления скрыт, попробуйте использовать ограничивающий прямоугольник для создания и нажмите на «ClickPoint» нажать в качестве обходного пути для скрытого управления.

var clickPoint = new Point(control.BoundingRectangle.X +  control.BoundingRectangle.Width/2, control.BoundingRectangle.Y +  control.BoundingRectangle.Height/2); 

Mouse.Click(clickPoint); 

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

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