Невозможно воспроизвести записанное закодированное действие UI Test для кнопки, являющейся частью пользовательского элемента управления. - PullRequest
0 голосов
/ 20 июля 2011

Я использовал VS 2010 Coded UI Test для записи действия Click в combobox пользовательского элемента управления, который состоит из combobox и кнопки, и сгенерировал код.

Затем я использовал VS 2010 Coded UIПопробуйте записать действие Click для кнопки пользовательского элемента управления, которая состоит из combobox, кнопки и сгенерированного кода.

Когда я сделал «Воспроизведение клика» в поле со списком, он работает нормально.

Когда я сделал «Воспроизведение щелчка по кнопке», я получил исключение:

Cannot perform 'Click' on the hidden control

Кодированный тест пользовательского интерфейса после обновления может найти и выделить кнопку.
Кажется UIMap.Designer генерирует правильное объявление элемента управления.
Перед выполнением «Нажатия» на кнопке, которую я пытался SetFocus.
Если я получу ControlCollection и покажу сообщение с BoundingRectangle свойствами каждого элемента управления в коллекции, тогдаBoundingRectangle указывают на другой элемент управления.

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

Ответы [ 2 ]

0 голосов
/ 30 марта 2016

Попробуйте приведенное ниже решение один раз, поскольку ограничивающий прямоугольник правильный или нет: -

  1. Сделайте ButtonControl.DrawHighlight (). Проверьте, выделяется ли вся правильная граница кнопки.
  2. ButtonControl.BoundingRectangle. Возвращает ли это ненулевые значения?
  3. Если [2] истинно, Rectangle r = ButtonControl.BoundingRectangle.

ButtonControl.SetFocus ()

Mouse.Click (новая точка (r.X + r.Width / 2, r.Y + r.Height / 2));

0 голосов
/ 20 июля 2011

Иногда элементы управления отображаются как составные элементы других элементов управления.После того, как рекордер найдет вашу кнопку, проверьте, есть ли у нее дочерние элементы управления (нажмите стрелку вниз или Alt + Down), like here.Это случалось со мной несколько раз при тестировании приложения Silverlight, когда изображение или текст блокировали кнопку.Надеюсь, это поможет.

...