none
Как искать UI элементы десктопного приложения, которые не видны Инспекту и Виниуму? RRS feed

  • Вопрос

  • Доброго времени суток всем читающим!

    На работе поставили задачу автоматизировать тестирование UI десктопного приложения. Автотесты пишу на C#, используя фреймворк от 2ГИСА - Winium. Для поиска элементов UI использую Inspect, которая входит в состав Windows Kits, или Winium. Так вот при поиске элементов почти сразу же столкнулся с проблемой: какие-то элементы не удается найти ни Inspect'ом, ни Winium'ом.

    Вот пример одной из форм:

    Inspect в данном случае не видит вкладки (выделено жёлтым), из-за чего приходится придумывать всяческие воркэраунды, вроде использования хоткеев или смещения фокуса с одного элемента на другой через табуляцию.

    ОС: Windows Server 2008 R2. Автотесты разрабатываются и отлаживаются на удаленной машине.

    Подскажите, пожалуйста, есть ли какой-то способ обращаться к таким элементам?

    1 августа 2019 г. 22:45

Все ответы

  • Здравствуйте,

    А эти подразделы childform'ы? Можете здесь посмотреть исходник метода, в описании есть что он дает доступ к ним: Automated UI Testing - An Alternative Approach


    Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    2 августа 2019 г. 9:10
    Модератор
  • Любопытный подход, тут предлагается добавлять в тестируемое приложение dll, которая при запуске будет инициализировать тестирующее приложение - запуская внутри тестируемого приложения сервис WCF, который получает доступ ко всем классам и методам внутри тестируемого приложения.

    Но это, увы, не приложимо к моему случаю, так как приложение, которое я тестирую, принадлежит вендору. А вендор не дает даже API своего приложение, не говоря уже о том, чтобы в него добавлять какие-то dll. 

    Кстати, приложение, тестирование UI которого я пытаюсь автоматизировать, написано с использованием Win32 API.

    2 августа 2019 г. 20:48